citrus icon indicating copy to clipboard operation
citrus copied to clipboard

org.eclipse.jetty dependency clash between citrus-http and citrus-remote-server

Open u480abt opened this issue 7 years ago • 1 comments

Citrus Version 2.7.6

Hi,

unfortunatly there is a dependency clash in citrus dependencies for org.eclipse jetty.

My Test-Setup is:

  • HttpServer-Mock (needs 'citrus-http' dependency)
  • run citrus-tests in an openshift environment, so i used the citrus-remote-plugin and the dependency 'citrus-remote-server' to build a war, which is deployed in an tomcat docker image on openshift.
  • the remote plugin creates a war with all transistive depenedencies inside the web-inf/lib folder.
  • so i got jetty 9.4.6 libs and some jetty 9.4.8 libs in the lib-folder.
  • while citrus tries to start the jetty for my HttpServerMock in my tomcat docker image i got magic org.eclipse.jetty exceptions

Hotfix I could solve this problem by excluding the org.eclipse.jetty dependencies from the citrus-http-dependency. But this is just a hotfix and should be solved by citrus in future.

<dependency>
            <groupId>com.consol.citrus</groupId>
            <artifactId>citrus-remote-server</artifactId>
        </dependency>
        <dependency>
            <groupId>com.consol.citrus</groupId>
            <artifactId>citrus-http</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-server</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-servlet</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Kind regards abt

u480abt avatar Aug 07 '18 09:08 u480abt

Hi!

Thx for the report! I traced down the issue to the spark-core dependency which is using jetty 9.4.8 internally.

<dependency>
      <groupId>com.sparkjava</groupId>
      <artifactId>spark-core</artifactId>
</dependency>

This issue could also occur when you use citrus-http in combination with citrus-jdbc, because citrus-jdbc is also using the spark-core.

BR, Sven

svettwer avatar Aug 07 '18 10:08 svettwer