如果未找到“com.google.common.base.Stopwatch”中的方法,如何修复我的 Maven 依赖项?

问题描述 投票:0回答:1

我使用谷歌云存储从中读取文件。当我从 Eclipse 中构建它时它正在工作。但是当我用maven构建它时,它编译但在运行时失败(当我用eclipse构建时根本没有运行时异常)

我需要帮助,查看通过 Maven 进行构建后的异常:

java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createUnstarted()Lcom/google/common/base/Stopwatch;
        at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)
        at com.google.appengine.tools.cloudstorage.GcsServiceImpl.getMetadata(GcsServiceImpl.java:132)

这是我使用的相关Maven 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>selectmediaservers</groupId>
      <artifactId>selectmediaservers</artifactId>
      <version>1</version>
      <packaging>war</packaging>
      <properties>  <!-- App Engine Standard currently requires Java 7 -->
      <maven.compiler.target>1.7</maven.compiler.target>
      <maven.compiler.source>1.7</maven.compiler.source>
      <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>

     </properties>
        <build>
        <directory>${project.basedir}/Server/Cloud/selectmediaservers/target</directory>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <sourceDirectory>Server/Cloud/selectmediaservers</sourceDirectory>
      <plugins>

        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>1.9.46</version>
                <configuration>
                        <gcloud_verbosity>debug</gcloud_verbosity>
                        <set_default>false</set_default>
                        <log_level>info</log_level>
                        <max_module_instances>2</max_module_instances>
                        <version>${VER}</version>
                </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <webXml>${project.basedir}/Server/Cloud/selectmediaservers/war/WEB-INF/web.xml</webXml>
              <warSourceDirectory>${project.basedir}/Server/Cloud/selectmediaservers/war</warSourceDirectory>
              <webResources>
                <resource>
                  <directory>${project.basedir}/Server/Cloud/selectmediaservers/war</directory>
                  <includes>
                    <include>${project.basedir}/Server/Cloud/selectmediaservers/war/WEB-INF/appengine-web.xml</include>
                    <include>${project.basedir}/Server/Cloud/selectmediaservers/war/WEB-INF/web.xml</include>
                  </includes>
                </resource>
              </webResources>
            </configuration>
          </plugin>
      </plugins>
        </build>

      <dependencies>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>19.0-rc1</version>
            </dependency>
            <dependency>
                <groupId>com.sendgrid</groupId>
                <artifactId>sendgrid-java</artifactId>
                <version>2.2.1</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.8.5</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>   
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.7</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.apis</groupId>
                <artifactId>google-api-services-bigquery</artifactId>
                <version>v2-rev330-1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-api-1.0-sdk</artifactId>
                <version>1.9.46</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-api-labs</artifactId>
                <version>1.9.46</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>`enter code here`
            <dependency>
                <groupId>nl.bitwalker</groupId>
                <artifactId>UserAgentUtils</artifactId>
                <version>1.2.4</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>           
            <dependency>
                <groupId>com.google.appengine.tools</groupId>
                <artifactId>appengine-gcs-client</artifactId>
                <version>0.6</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.9.6</version>
            </dependency>
            <dependency>
                <groupId>com.google.apis</groupId>
                <artifactId>google-api-services-storage</artifactId>
                <version>v1-rev92-1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.api-client</groupId>
                <artifactId>google-api-client</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.api-client</groupId>
                <artifactId>google-api-client-servlet</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.api-client</groupId>
                <artifactId>google-api-client-appengine</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.http-client</groupId>
                <artifactId>google-http-client-jackson2</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.8.5</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>3.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.google.oauth-client</groupId>
                <artifactId>google-oauth-client</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.oauth-client</groupId>
                <artifactId>google-oauth-client-appengine</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.http-client</groupId>
                <artifactId>google-http-client-jdo</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-jdk5</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
      </dependencies>
    </project>
java maven google-app-engine google-cloud-storage
1个回答
0
投票

您是否尝试过依赖 guava 19 而不是 19-rc1 ?即

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

Eclipse 中捆绑的 JAR 可能与您的 .m2repo 中的 JAR 不同。 根据版本 19 javadoc 缺少的方法应该在那里。

© www.soinside.com 2019 - 2024. All rights reserved.