2016-12-28 6 views
0

これは私のpom.xmlジャージーNoSuchMethodError Mavenの

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>br.com.teste</groupId> 
<artifactId>TesteApi</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 
<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <warSourceDirectory>WebContent</warSourceDirectory> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 
     <plugin> 
      <inherited>true</inherited> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>net.wasdev.wlp.maven.plugins</groupId> 
      <artifactId>liberty-maven-plugin</artifactId> 
      <version>1.2</version> 
     </plugin> 
    </plugins> 
</build> 
<pluginRepositories> 
    <pluginRepository> 
     <id>sonatype-nexus-snapshots</id> 
     <name>Sonatype Nexus Snapshots</name> 
     <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
    </pluginRepository> 
</pluginRepositories> 
<dependencies> 
    <dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-servlet</artifactId> 
     <version>2.19</version> 
     <exclusions> 
      <exclusion> 
       <groupId>javax.ws.rs</groupId> 
       <artifactId>javax.ws.rs-api</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.core</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>2.19</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.core</groupId> 
     <artifactId>jersey-client</artifactId> 
     <version>2.19</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-jaxb</artifactId> 
     <version>2.19</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-json-jackson</artifactId> 
     <version>2.23.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.json</groupId> 
     <artifactId>json</artifactId> 
     <version>20160810</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>1.10</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>1.3.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.thetransactioncompany</groupId> 
     <artifactId>cors-filter</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>com.thetransactioncompany</groupId> 
     <artifactId>java-property-utils</artifactId> 
     <version>1.10</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-beanutils</groupId> 
     <artifactId>commons-beanutils</artifactId> 
     <version>1.9.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mongodb</groupId> 
     <artifactId>mongo-java-driver</artifactId> 
     <version>3.3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.pacesys</groupId> 
     <artifactId>openstack4j</artifactId> 
     <version>3.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.directory.studio</groupId> 
     <artifactId>org.apache.commons.io</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>2.8.4</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.8.4</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>2.8.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-multipart</artifactId> 
     <version>2.24</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.9.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.5.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.mailjet</groupId> 
     <artifactId>mailjet-client</artifactId> 
     <version>4.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jhades</groupId> 
     <artifactId>jhades</artifactId> 
     <version>1.0.4</version> 
    </dependency> 
</dependencies> 

あるIBMの自由のJavaに

java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map; 
org.glassfish.jersey.server.ApplicationHandler.&lt;init&gt;(ApplicationHandler.java:330) 
org.glassfish.jersey.servlet.WebComponent.&lt;init&gt;(WebComponent.java:339) 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170) 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:362) 
javax.servlet.GenericServlet.init(GenericServlet.java:158) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

を私のジャージアプリケーションを実行している間、私は私がしようとするJhadesを実行してみました。この問題を抱えていましたクラスロードの非互換性が何であったかを見てください。この結果は

file:/C:/Desenvolvimento/Projetos/V2/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/TesteApi/WEB-INF/lib/javax.annotation-api-1.2.jar overlaps with 
file:/C:/Desenvolvimento/Projetos/V2/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/TesteApi/WEB-INF/lib/jsr250-api-1.0.jar - total overlapping classes: 11 - same classloader ! This is an ERROR! 

javax.ws.rs-apiを取得した唯一のエージェントであるため、jersey-container-servletの依存関係からjavax.ws.rs-apiを削除しようとしました。誰かが私を助けることができれば、彼はとても感謝していました。そのjavax.ws.rs:javax.ws.rs-apiツリーのログで見られるように推移依存関係としてで聞かせたくないという場合は

mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.0:tree 

-

答えて

0

の着信推移依存関係の詳細を知るためにMaven Dependency Pluginを使用してくださいありがとう -

> [INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.19:compile 

> [INFO] | +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile 

あなたは同じに除外を追加してみてくださいすることができます -

<dependency> 
    <groupId>org.glassfish.jersey.core</groupId> 
    <artifactId>jersey-client</artifactId> 
    <version>2.19</version> 
    <exclusions> 
     <exclusion> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

こんにちは、私は私の依存関係のリストの下に投稿しました – user2350939

0

依存関係を見ると、オープンスタックの依存関係が問題であることがわかります。 jax-rs 1 jarであるjaxrs-apiを引っ張っています。ジャージバージョンでは、jax-rs twoを使用しようとしています。jaxrs-api jarをopenstack依存関係から除外する必要があります。うまくいけば、それを破ることはありません。あるいは、jax-rs 2(jaxrs-api 3.x.x)を使用する依存依存の新しいバージョンがあるかもしれません。

関連する問題