当前位置: 首页 > 知识库问答 >
问题:

谷歌存储客户端库(appengine gcs客户端)具有不可用的依赖项(谷歌http客户端父级:pom:1.24.1)

赖淇
2023-03-14

我将appengine gcs客户端添加到我的Google appengine标准项目中:

    *<dependency>
        <groupId>com.google.appengine.tools</groupId>
        <artifactId>appengine-gcs-client</artifactId>
        <version>0.7</version>
    </dependency>*

(此页上的说明如下:https://cloud.google.com/appengine/docs/standard/java/googlecloudstorageclient/setting-up-cloud-storage)

编译项目会引发以下错误(几天前没有问题):

[错误]无法在项目myproject2上执行目标:无法解析项目com的依赖项。myproject2:myproject2:war:1.0-SNAPSHOT:未能在com上收集依赖项。谷歌。阿彭金。工具:appengine gcs客户端:jar:0.7-

谷歌似乎刚刚在依赖树中创建了一些错误。

有没有什么方法可以修复它,哪怕只是暂时的解决方法

用复制错误的完整pom更新我的问题:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>
    <packaging>war</packaging>
    <version>0.1.0-SNAPSHOT</version>

    <groupId>com.myproject2</groupId>
    <artifactId>myproject2</artifactId>

    <properties>
        <appengine.maven.plugin.version>1.3.1</appengine.maven.plugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
    </properties>

    <prerequisites>
        <maven>3.3.9</maven>
    </prerequisites>

    <dependencies>
        <!-- Compile/runtime dependencies -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>1.9.59</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- For cloud storage https://cloud.google.com/appengine/docs/standard/java/googlecloudstorageclient/setting-up-cloud-storage -->
        <dependency>
            <groupId>com.google.appengine.tools</groupId>
            <artifactId>appengine-gcs-client</artifactId>
            <version>0.7</version>
        </dependency>

        <!-- Test Dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.endpoints</groupId>
            <artifactId>endpoints-framework</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.googlecode.objectify</groupId>
            <artifactId>objectify</artifactId>
            <version>6.0</version>
        </dependency>
    </dependencies>

    <build>
        <!-- for hot reload of the web application -->
        <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>display-dependency-updates</goal>
                            <goal>display-plugin-updates</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>${appengine.maven.plugin.version}</version>
            </plugin>
        </plugins>
    </build>
</project>

共有3个答案

澹台硕
2023-03-14

再次尝试运行它。谷歌昨天更新maven版本时,没有将完整的更新推送到图书馆。他们已经推动了丢失的部件,现在应该可以正常工作,无需任何修改

陆文斌
2023-03-14

我遇到了appengine mapreduce依赖项的错误。通过排除引发错误的依赖项,将其修复。

原始地图减少依赖

<dependency>
            <groupId>com.google.appengine.tools</groupId>
            <artifactId>appengine-mapreduce</artifactId>
            <version>0.9</version>
</dependency>

出现的错误

无法解析项目PerpuleSmartShoppee:PerpuleSmartShoppee:war:0.0.1-SNAPSHOT:未能在com上收集依赖项。谷歌。阿彭金。工具:appengine mapreduce:jar:0.9-

将其更改为以下内容,从而使构建工作正常

<dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client</artifactId>
            <version>1.22.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>guava-jdk5</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    <dependency>
                <groupId>com.google.api-client</groupId>
                <artifactId>google-api-client-appengine</artifactId>
                <version>1.22.0</version>
                <exclusions>
                    <exclusion>
                        <artifactId>guava</artifactId>
                        <groupId>com.google.guava</groupId>
                    </exclusion>
                </exclusions>   
            </dependency>
            <dependency>
                <groupId>com.google.appengine.tools</groupId>
                <artifactId>appengine-gcs-client</artifactId>
                <version>0.3</version>
                <exclusions>
                    <exclusion>
                        <artifactId>guava</artifactId>
                        <groupId>com.google.guava</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
              <dependency>
                <groupId>com.google.appengine.tools</groupId>
                <artifactId>appengine-mapreduce</artifactId>
                <version>0.9</version>
                <exclusions>
                    <exclusion>
                        <artifactId>guava</artifactId>
                        <groupId>com.google.guava</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>appengine-gcs-client</artifactId>
                        <groupId>com.google.appengine.tools</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.api-client</groupId>
                        <artifactId>google-api-client</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.api-client</groupId>
                        <artifactId>google-api-client-appengine</artifactId>
                    </exclusion>

                </exclusions>
            </dependency> 
南门鸿哲
2023-03-14

谷歌似乎做了一些更名(他们删除了artifactId中的“-appengine”部分),但在1.24.1版本中不起作用。尝试用以下内容替换gcs依赖项:

<dependency>
    <groupId>com.google.appengine.tools</groupId>
    <artifactId>appengine-gcs-client</artifactId>
    <version>0.7</version>
  <exclusions>
    <exclusion>
      <groupId>com.google.http-client</groupId>
      <artifactId>*</artifactId>
    </exclusion> 
  </exclusions>
</dependency>
<dependency>
  <groupId>com.google.http-client</groupId>
  <artifactId>google-http-client-appengine</artifactId>
  <version>1.23.0</version>
</dependency>

它将排除1.24.1版本中的所有非工作依赖项,而是使用以前的1.23.0。最后,您可能需要强制maven使用“-U”标志更新远程依赖项,例如。,

mvn -U package
 类似资料:
  • 我有一个谷歌云,我想推我的图像。 我的图片是Hello-world项目与节点快递谷歌云客户端libray 你可以在我的github上找到它 https://github.com/innostarterkit/language 当我试着推的时候,我有这个错误 推送是指存储库[eu.gcr.io/innovation xxx/hello]a419c4413fb0:推送[================

  • 我正在编写一个类,用于创建对BigQuery和Google云存储的授权。 在过去,我曾使用,但已被弃用。我试图使用,但我发现它只允许我使用,而我需要。 我知道可以从转换为,但我不知道如何将它们转换成相反的方向(转换为)。例如,我像这样创建连接: 有人能给我指明如何实现这一目标的方向吗? 谢谢!

  • 我需要在谷歌云存储中“作为最终用户进行身份验证”(我代表我的应用程序的最终用户访问资源)。因为我的应用程序是用C++编写的。我编译了C++谷歌云存储客户端库。但是这里它声明它需要客户端的JSON文件来创建GCS::Client对象。我找不到任何其他方法来创建带有项目id、服务电子邮件、私钥、密钥名和桶名等信息的客户端(这些信息足以在python中进行身份验证)。有没有办法在谷歌云存储C++客户端库

  • 问题内容: 建筑: 我们有一个使用2个pubsub主题/订阅对的架构: 定期由cronjob触发主题(例如,每5分钟触发一次)。订阅是我们云功能的触发器。 主题充当我们的一项服务发布的后台作业的队列。云功能在每次执行时读取订阅,以为排队的后台作业提供服务。 这使我们可以控制后台作业的服务频率,而与将它们添加到队列的时间无关。 云功能(由触发)通过pull读取消息。它决定准备好哪些后台作业,并在成功

  • 在文档中,关于为Google Cloud Messaging编写Android部分,描述了两个不同的选项: -使用,和inhttp://developer.android.com/google/gcm/gs.html#android-应用程序 -使用在中编写处理程序http://developer.android.com/google/gcm/gcm.html#writing_apps. 这令人困

  • 我试图访问我的用户的google drive内容。我可以使用带有正确参数的google drive用户许可url在我的域名上兑换代码:https://accounts.google.com/o/oauth2/v2/auth?响应类型=代码 我正在尝试向https://www.googleapis.com/oauth2/v4/tokenendpoint执行角$超文本传输协议请求。请求如下所示: 然而