2017-05-15 13 views
0

사실 나는 구름 펍/하위에서 주제를 얻으려고합니다. 나는 위의 오류가 발생하는 주제를 얻으려면 요청 URL을 보낼 때 편안한 웹 서비스 코드를 작성했습니다. 일부 조회 후, 그것은 펍/하위 0.17 버전과 구아바 19.o 버전의 버전 충돌과 같은 이음새지만 구아바 19 버전을 제외하고 18 버전을 추가했지만 동일한 예외가 반복해서 올 수 있습니다. 그러나 모든 구아바 버전으로 시도했지만 아무런 오류가 발생하지 않습니다. 해결 방법과 왜 그것이 나오는지 안내해주십시오. 내가 .. 여기 내 코드를 첨부 감사 하겠어 ..java.lang.NoSuchMethodError : com.google.common.util.concurrent.MoreExecutors.platformThreadFactory() Ljava/util/concurrent/ThreadFactory;

내 코드 :

@Path("/topic") 
    public class PubSubServices 
    { 

    @Path("/gettopic") 
    @GET 
    @Produces({ MediaType.TEXT_HTML}) 
    public Response getTopic() throws Exception { 
     String projectid="My-ProjectID"; 
     String topicname="my-new-topic"; 


     System.out.println("Project name is:"+projectid+" new topic name is:"+topicname); 
     try 
     { 

     TopicAdminClient topicAdminClient topicAdminClient=TopicAdminClient.create(); 
      TopicName topicName = TopicName.create(projectid, topicname); 
       Topic topic = topicAdminClient.getTopic(topicName); 

     } catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 

     return Response.status(200).entity(topic.getName();).build(); 


    } 

의 pom.xml :

<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>PubSub</groupId> 
<artifactId>PubSub</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 

<dependencies> 

    <dependency> 
     <groupId>com.google.cloud</groupId> 
     <artifactId>google-cloud-pubsub</artifactId> 
     <version>0.17.2-alpha</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>com.google</artifactId> 
       <groupId>guava</groupId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.google.guava</groupId> 
       <artifactId>guava</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 


    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>18.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.google.api-client</groupId> 
     <artifactId>google-api-client</artifactId> 
     <version>1.22.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.core</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-servlet-core</artifactId> 
     <version>2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-multipart</artifactId> 
     <version>2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-moxy</artifactId> 
     <version>2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.thetransactioncompany</groupId> 
     <artifactId>cors-filter</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
    </dependency> 

</dependencies> 
<build> 
    <finalName>CloudSubPub1</finalName> 
    <plugins> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

내가 만들어 전쟁 파일과 유리 물고기 서버에 업로드했습니다. Guava-18과 같은 솔기가 런타임시 이전 버전에 의해 덮어 쓰여지고 Guava-18은 컴파일 작업 중에 만 작동합니다. 내가 가진

<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>PubSub</groupId> 
<artifactId>PubSub</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 


    <dependencies> 

      <dependency> 
       <groupId>com.google.cloud</groupId> 
       <artifactId>google-cloud-pubsub</artifactId> 
       <version>0.17.2-alpha</version> 
     </dependencies> 
    </project> 

Problem is that when I write code with restful web services with jersey I am getting above error, I am not able find solution. Any solution for this please?

답변

0

:

package com.agro.pubsub.services; 
import com.google.cloud.pubsub.spi.v1.TopicAdminClient; 
import com.google.pubsub.v1.Topic; 
import com.google.pubsub.v1.TopicName; 

public class Test { 
public static void main(String args[]) throws Exception 
{ 

    try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { 
      TopicName topicName = TopicName.create("My-project-Id", "my-new-topic123"); 
      Topic topic = topicAdminClient.getTopic(topicName); 
    System.out.println(""+topic.getName()); 
    } 

} 
} 

의 pom.xml :

메인 방법이

코드 하느님 (주요 방법으로 시험을)하고있다 그것에 대한 해결책. 나는 그래서 난 내 구아바 버전 구아바을 무시하고

0

해결을 의미합니다 19 버전 유리 물고기 모듈 폴더 에 구아바를 복사 : 나는 최신 버전으로 구아바 의존성을 업데이트하고이 문제를 해결

<!-- https://mvnrepository.com/artifact/com.google.guava/guava --> 
<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava</artifactId> 
    <version>latest</version> 
</dependency>