[英]How to run project on GitLab with different Java version and Maven version?
Currently, in .gitlab.xml I have added maven version.目前,在 .gitlab.xml 我已经添加了 maven 版本。 mvn -version and I get following mvn -version 我得到关注
Running with gitlab-ci-multi-runner 9.4.0 (ef0b1a6)
on aldo-esb-app01 (ed33de66)
Using Shell executor...
Running on aldo-esb-app01...
Fetching changes...
HEAD is now at 6b74e38 remove .settings,project and change parent
From https://gitlab.chintegrator.cosng.net/chintegrator/filemover/filemover-generic
6b74e38..aef376b feature/java11change -> origin/feature/java11change
Checking out aef376b1 as feature/java11change...
Skipping Git submodules setup
$ mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: /shared/gitlab-runner/apache-maven/apache-maven-3.6.0
Java version: 1.8.0_121, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.6.1.el7.x86_64", arch: "amd64", family: "unix"
Job succeeded
Now, I'm migrating from Java 8 to 11.现在,我正在从 Java 8 迁移到 11。
So, I need to keep both Java 8 and Java 11 (for master project), as well as Maven 3.6 and 3.8 (for 11) (for feature branch only).所以,我需要保留 Java 8 和 Java 11(用于主项目),以及 Maven 3.6 和 3.8(用于 11)(仅用于功能分支)。
How can I configure both together so that Java 8 build runs with Java 8 and Java 11 projects build with Java 11 and Maven 3.8?如何同时配置两者,以便 Java 8 构建与 Java 8 一起运行,而 Java 11 项目与 Java 11 和 Maven 3.8 一起运行?
In Maven Parent, We have already started using Maven 3.8 with <release>11
, but it is not getting build.在 Maven Parent 中,我们已经开始使用带有<release>11
的 Maven 3.8,但它没有得到构建。
Since you appear to be using the shell executor, you can use sdkman to both download/install/use specific versions of Java, Maven, or numerous other candidate target tools (ant, gradle, etc).由于您似乎正在使用 shell 执行程序,因此您可以使用 sdkman下载/安装/使用特定版本的 Java、Maven 或许多其他候选目标工具(ant、gradle 等)。
For docker-based executors (like on gitlab.com shared runners), you can control this with the image:
tag by specifying an image containing the version of maven/java you need.对于基于 docker 的执行程序(如 gitlab.com 上的共享运行程序),您可以使用image:
标记通过指定包含您需要的 maven/java 版本的图像来控制它。
For example, to use maven 3.8.5 on Java 11:例如,要在 Java 11 上使用 maven 3.8.5:
job:
image: maven:3.8.5-openjdk-11-slim
script:
- java -version
- mvn -version
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.