简体   繁体   English

如何使用不同的 Java 版本和 Maven 版本在 GitLab 上运行项目?

[英]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.

相关问题 如何编译不同版本的Maven Web项目并在不同版本中运行 - How to compile maven web project in different version and run in different version NetBeans项目中的exec-maven-plugin Java版本不同于maven-compiler-plugin Java版本 - exec-maven-plugin Java version different from maven-compiler-plugin Java version in NetBeans project Maven Project将构建由其他Java版本编译的其他jar - Maven Project to build additional jar compiled by different java version maven多模块项目,使用不同的java版本编译其中一个模块 - maven multi module project, compile one of the modules with a different java version 如何使用不同的 Java 版本运行 Eclipse? - How to run Eclipse with different Java version? 如何使用主要版本创建不同的Maven项目? - How to create a different Maven project with major relase version? 使用与用于运行maven的Java不同版本的Java运行maven - Run maven using a different version of Java than the one used to run maven 如何正确版本控制 (svn:ignore) Java 项目 (Maven, Spring)? - How to correctly version control (svn:ignore) a Java project (Maven, Spring)? 如何为给定的 maven 项目正确更改 java 版本? - How do I changed the java version properly for a given maven project? 如何像Pom一样从Java方法获取Maven项目版本 - How to Get Maven Project Version From Java Method as Like at Pom
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM