【问题标题】:Unable to build a groovy jar in jenkins无法在 jenkins 中构建一个 groovy jar
【发布时间】:2020-07-19 08:25:58
【问题描述】:

我无法在 jenkins slave/master 中构建一个 jar。尝试了不同的方法,但无法解决以下问题。相同的命令在本地提供帮助,并且能够创建 jar。

export PATH=/opt/apache-maven-3.6.3/bin:$PATH
mvn clean compile -f /home/iburahim/workspace/automation/ -pl testproject -am assembly:single

错误:

    10:03:29 WARNING: An illegal reflective access operation has occurred
    10:03:29 WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/root/.m2/repository/org/codehaus/groovy/groovy-eclipse-batch/2.4.3-01/groovy-eclipse-batch-2.4.3-01.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
    10:03:29 WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
    10:03:29 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    10:03:29 WARNING: All illegal access operations will be denied in a future release
    10:03:32 /home/iburahim/workspace/automation/base/src/main/groovy/com/comapny/base/config/Config.groovy: 34 Groovy:unable to resolve class Map
    10:04:01 [ERROR] /home/iburahim/workspace/automation/base/src/main/groovy/com/company/base/sdk/connector/ExternalFilterConnector.java:[89,136] 9344. ERROR in /home/iburahim/workspace/automation/base/src/main/groovy/com/company/base/sdk/connector/ExternalFilterConnector.java (at line 89)
    10:04:01 [ERROR]    AdroitRESTDriver driver = new AdroitRESTDriver(myConfig.getConnectorByType("AdroitServer1").getConfigParam("applianceAdmin"), myConfig.getConnectorByType("AdroitServer1").getConfigParam("applianceAdminPassword"));
    10:04:01 [ERROR]                                                                                                                                           ^^^^^^^^^^^^^^^^^^
    10:04:01 [ERROR] The method getConnectorByType(String) from the type MyConfig refers to the missing type String

Maven、groovy3+、java安装在从机(OpenSuse42)。请为此提供帮助。

【问题讨论】:

  • 看来你正在使用旧的java for groovy3
  • 我也已经尝试过 groovy 2,同样的错误。请向我推荐 java 和 groovy 版本。
  • 找不到类型“字符串”似乎表明您没有提供正确的类路径。
  • 能否包含您的 Maven POM,以便我们查看您是如何配置构建的?
  • groovy-eclipse-batch-2.4.3-01 已经很老了。如果您尝试使用 Groovy 3,则有许多更新的批处理编译器版本可用。编译器适配器最近也已更新。

标签: java maven jenkins groovy jenkins-groovy


【解决方案1】:

终于找到了答案。由于本地 cli 和 Jenkins 使用与从机不同的 java 版本而出现问题。当我在 Slave CLI 中检查 java 版本时

openjdk 版本“1.8.0_212” OpenJDK 运行时环境 (IcedTea 3.12.0) (build 1.8.0_212-b4 suse-34.1-x86_64) OpenJDK 64 位服务器 VM(内部版本 25.212-b04,混合模式)

当我通过jenkins检查从机java版本时,它返回

19:09:28 + java -版本 19:09:29 java版本“9.0.4” 19:09:29 Java(TM) SE 运行时环境(构建 9.0.4+11) 19:09:29 Java HotSpot(TM) 64-Bit Server VM(build 9.0.4+11,混合模式)

然后我在jenkins slave配置中发现了不匹配并改正,

只需将 java 主路径添加为 /usr/lib64/jvm/jre 并运行该作业。 jar 成功创建。我希望这些信息对某人有所帮助。

enter image description here

【讨论】:

  • 我的回答是正确的,因为问题是从我身边触发的并且在我的环境中完美工作。
猜你喜欢
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 2020-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多