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

Jenkins maven使用不同的jdk发布插件

冀胤运
2023-03-14

我想执行一个maven版本,在运行于jdk 1.7的Jenkins安装上编译java 1.8代码

我有一个使用JDK参数插件用Java1.8编译的项目。它在进行常规构建时有效。

当我使用maven发布插件进行maven发布时,它会将JVM与java 1.7相结合,而不是插件上指定的版本。我猜它需要环境中的java版本。

如果我将JAVA_HOME for the job设置为1.8,它就会工作。

我试图找到一个解决方案,在我的所有工作中,我不必覆盖JAVA_HOME。

我试图使用类似帖子中的解决方案,通过强制使用编译器版本修复了OP问题:

<properties>
   <jee.level>1.8</jee.level>
   <jdk.level>1.8</jdk.level>
</properties>

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <configuration>
       <source>${jee.level}</source>
       <target>${jdk.level}</target>
   </configuration>
</plugin>

但是我最后得到了:

 [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project redeem-commons-test: Fatal error compiling: invalid target release: 1.8 -> [Help 1]

任何帮助都将不胜感激。

共有1个答案

汪辰阳
2023-03-14

到目前为止,我找到的最佳解决方案是升级jenkins运行的容器的JDK,并向后者添加JAVA_OPTS以支持以前的JDK版本。e、 g.-Djava。版本=1.7

这样我就可以构建和发布java 7或java 8的项目。

 类似资料:
  • 问题内容: 我目前正在将构建过程从Ant迁移到Maven。我们的应用程序已部署到许多不同的客户,每个客户都有一组独特的依赖项和配置。我可以实现不同的配置文件以对它们进行建模,并从中构建所需的战争。但是,这是一个在编译时发生的过程。 每个版本都标记为SVN,并已上传到我们的内部Nexus存储库。我希望能够采用定义的发行版并根据配置文件对其进行重构。有没有办法做这样的事情?除了个人资料外,我还应该使用

  • 我有一个非常基本的Gradle构建文件: 这是通过詹金斯执行的,看起来工作正常: 归档工件:[DefaultPublishArtifact_装饰模块-0.0.post0.dev6 n4c62094-py2.7:egg:egg:null] [buildinfo]属性文件位于“/tmp/buildInfo65481565498521”。财产 : artifactoryPublish 正在将生成描述符部

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(

  • 我最近尝试使用,因为它显然是Maven宇宙中构建和包发布的推荐方式。 但是我想在Eclipse中使用它,因为我的开发工作流程的其余部分是基于Eclipse的。我通常通过作为Eclipse Juno(4.2)的一部分提供的m2eclipse插件运行Maven命令 当我尝试在 Eclipse 中运行 “release:prepare” 时,我注意到了一些奇怪的事情: 在根项目目录中创建了一些额外的文件

  • 如果Maven大师社区可以帮助我完成以下任务,那就太好了。 我想以一种发布过程以批处理模式运行的方式(不需要从控制台询问任何问题)自动化哈德逊中Maven模块的发布过程。目前我使用常见步骤发布:准备 在准备步骤中: 对于与当前模块和父模块的匹配的所有依赖项,请将替换为正式版本(例如)。 发布后的某些时间: 对于与当前模块和父模块的组ID匹配的所有依赖项,请将发布版本替换为快照版本(例如,版本:使用

  • 我有以下多项目分级建设: 3个子项目分级文件中的每一个目前都非常简单: 以下是我想要达到的目标: 当我从父目录运行时,我希望所有三个子项目都使用0.1.5版本生成;因此,、和。但是,当前我的构建已经执行此操作... 如果客户端和共享JAR成功构建,我还希望将它们发布到我的私有Artifactory repo中。(我不希望发布服务器JAR)。 我的问题是:如何将这个片段添加到我的项目中,这样从父目录