gpt4 book ai didi

java - 使用 jdk8 和 groovy 2.4.4- java.lang.InknownClassChangeError 运行 job-dsl-plugin

转载 作者:行者123 更新时间:2023-11-30 03:14:22 25 4
gpt4 key购买 nike

我正在使用 job-dsl 插件来自动创建 jenkins 作业。下面是我的 Maven 配置。

<java.version>1.8</java.version>
<groovy.version>2.4.4</groovy.version>
<dsl.version>1.37</dsl.version>
<groovy.eclipse.compiler.version>2.9.101</groovy.eclipse.compiler.version>
<groovy.eclipse.batch.version>2.3.7-01</groovy.eclipse.batch.version>

<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>${groovy.eclipse.compiler.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>${groovy.eclipse.batch.version}</version>
</dependency>
</dependencies>
</plugin>

我正在使用jdk8和groovy-all 2.4.4,groovy-eclipse-compiler,并且使用shade插件生成了一个uber jar。为了运行我的脚本,我添加了额外的类路径(在进程 job-dsl/advanced-settings 下)作为 target/my-uber.jar。

当我在本地运行测试时,一切正常,但在 Jenkins 上出现以下错误

java.lang.IncompatibleClassChangeError: the number of constructors  during runtime and compile time for    com.salesforce.dva.pipeline.generator.model.PkgType do not match. Expected -1 but got 2
at groovy.lang.MetaClassImpl.selectConstructorAndTransformArguments(MetaClassImpl.java:1413)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.selectConstructorAndTransformArguments(ScriptBytecodeAdapter.java:234)

我尝试更改 groovy 版本(较旧的版本)并设置 jdk 7 和 6,但所有这些都导致了相同的错误。

如何解决这个问题?

最佳答案

Jenkins 使用 Groovy 1.8.x,因此 Job DSL 插件也使用 Groovy 1.8.x。目前是1.8.9。 Groovy 2.x 的更新仍在等待中,请参阅 JENKINS-21249 。建议对任何 Job DSL 项目使用 Groovy 1.8。

由于 Groovy 2.3 是第一个正式支持 Java 8 的版本(请参阅 Release notes for Groovy 2.3 ),因此建议对任何 Groovy 1.8 项目使用 Java 7。

关于java - 使用 jdk8 和 groovy 2.4.4- java.lang.InknownClassChangeError 运行 job-dsl-plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com