NoSuchMethodError: com.google.common.base.Preconditions.checkArgument (ZLjava / lang / String; CLjava / lang / Object;) V - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать API, который при запуске отправляет запрос в Dialogflow.Для этого я использую Java SDK, как показано здесь .

Фрагмент проблемного кода скопирован из здесь , внизустр.

try (SessionsClient sessionsClient = SessionsClient.create()) {
    SessionName session = SessionName.of(genericProjectId, genericSessionId);
    QueryInput queryInput = QueryInput.newBuilder().build();
    DetectIntentResponse response = sessionsClient.detectIntent(session, 
    queryInput);
}

Когда я запускаю "SessionsClient.create ()", ошибка

javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V

генерируется во время выполнения.После исследования кажется, что это как-то связано с включением разных версий библиотек, в основном protobuf и guava ;тем не менее, я урезал POM настолько, насколько это возможно, и он не исчезает.

<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>com.mycompany</groupId>
    <artifactId>MYPROJECTNAME</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-dialogflow</artifactId>
            <version>0.71.0-alpha</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>MYPROJECTNAME</finalName>
        <plugins>
        </plugins>
    </build>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <projectId>MYPROJECTID</projectId>
    </properties>
</project>

Запуск mvn depenceny: дерево не показывает никаких проблем, и, открыв созданный архив WAR, я могу 'не вижу дубликатов библиотеки.Пробная компиляция как с NetBeans, так и с помощью командной строки, проблема все еще сохраняется.Приложение работает в Windows, используя Java 8 и Payara в качестве сервера.Что я делаю не так?

Спасибо за любую помощь

1 Ответ

0 голосов
/ 22 ноября 2018

После того, как возникла проблема в репозитории Google Cloud, похоже, что это действительно проблема с Guava , так что это ошибка на их стороне.Я до сих пор не уверен, как это могло пройти незамеченным, поскольку каким-то образом их руководство по быстрому запуску должно было сработать в какой-то момент, но вот оно.Спасибо тем, кто озаботился голосованием по этому вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...