java - 谷歌云构建器 - Java 版本

标签 java maven google-cloud-platform

我正在尝试使用 Google Cloud Builder 创建一个构建管道。我从非常简单的事情开始:“mvn clean deploy”,我使用的 cloudbuild.yaml 看起来像这样:

steps:
  # Build the application with maven
  - name: 'gcr.io/cloud-builders/mvn'
    args: ['clean', 'deploy']

这似乎有效,maven 部署已启动,但最终我在编译时遇到错误:

Step #1: [ERROR] Failed to execute goal org.apache.maven.plugins:maven- 
compiler-plugin:3.1:compile (default-compile) on project codex-core-model: 
Fatal error compiling: invalid target release: 1.9 -> [Help 1]

我的项目是用 java 9 编写的,所以我将不得不使用 jdk9 来编译它。显然 mvn 构建器使用 jdk8,我使用“mvn --version”检查了确定性并得到了这些结果:

Step #1: Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017- 
04-03T19:39:06Z)
Step #1: Maven home: /usr/share/maven
Step #1: Java version: 1.8.0_171, vendor: Oracle Corporation
Step #1: Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Step #1: Default locale: en_US, platform encoding: ANSI_X3.4-1968
Step #1: OS name: "linux", version: "4.4.0-130-generic", arch: "amd64", 
family: "unix"

我的问题:有没有一种简单的方法可以让这个构建器使用 jdk9 而不是 jdk8?

最佳答案

GCP with Java 9中没有可用的Cloud Builder镜像,可以查看最新源right here .

但您始终可以提交您的 own building steps .如果您查看 Cloud Build for Maven,您会发现您需要先构建您自己的 mvn 镜像,例如 this one , 插入 gcr.io

之后,您可以推送此构建器并在您的管道中使用它。


https://github.com/carlossg/docker-maven 该存储库似乎不再包含 Java 9。

关于java - 谷歌云构建器 - Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51809047/

相关文章:

java - Struts2 拦截器跟踪 session 超时前的最后一页

java - 对于以下场景,在 Java 中使用哪种数据结构?

java - 找不到辅助技术 : org. GNOME.Accessibility.AtkWrapper

java - 生成具有更新的 JUnit 依赖项并面向 Java 8 的 Maven Java 项目?

node.js - 部署应用程序时找不到模块 'google-cloud/pubsub'

google-cloud-platform - 尝试在 GCP 中模拟服务帐户时出现错误 403、 "The caller does not have permission"

java - 没有任何抽象方法的抽象类的目的是什么?

java - 在Windows命令行上运行jar文件中子包中的类

ruby - 在 Maven 集成中运行 Ruby 单元测试

java - Jetty:从另一个 jar 加载上下文