有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java组织。jvnet。哈德逊。测验JellyTestSuiteBuilder$JellyTestSuite异常:不兼容ClassChangeError:实现类

尝试扩展Jenkins插件时

mvn package

我从InjectedTest中得到一个错误:

Running InjectedTest
Tests run: 18, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.1 sec <<< FAILURE! - in InjectedTest
org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite(org.jvnet.hudson.test.junit.FailedTest)  Time elapsed: 0.024 sec  <<< ERROR!
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.sisu.plexus.binders.PlexusAnnotatedBeanModule$PlexusSpaceModule.visitor(PlexusAnnotatedBeanModule.java:101)
at org.eclipse.sisu.binders.SpaceModule.configure(SpaceModule.java:92)
at org.eclipse.sisu.plexus.binders.PlexusAnnotatedBeanModule.configure(PlexusAnnotatedBeanModule.java:81)
at org.eclipse.sisu.plexus.binders.PlexusBindingModule.configure(PlexusBindingModule.java:65)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:230)
at com.google.inject.spi.Elements.getElements(Elements.java:103)
at com.google.inject.spi.Elements.getElements(Elements.java:80)
at org.eclipse.sisu.binders.WireModule.configure(WireModule.java:60)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:230)
at com.google.inject.spi.Elements.getElements(Elements.java:103)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:476)
at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:202)
at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:166)
at hudson.maven.MavenEmbedderUtils.buildPlexusContainer(MavenEmbedderUtils.java:166)
at hudson.maven.MavenEmbedderUtils.buildPlexusContainer(MavenEmbedderUtils.java:159)
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:109)
at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:136)
at org.jvnet.hudson.test.HudsonTestCase$7.decorateHome(HudsonTestCase.java:1326)
at org.jvnet.hudson.test.HudsonTestCase.newHudson(HudsonTestCase.java:486)
at org.jvnet.hudson.test.HudsonTestCase.setUp(HudsonTestCase.java:318)
at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.setUp(JellyTestSuiteBuilder.java:143)
at org.jvnet.hudson.test.junit.GroupedTest.run(GroupedTest.java:49)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

关于如何解决这个问题有什么线索吗?尝试重新编译pom中的所有内容并更改版本。xml文件。如果我的Java类遗漏了什么,我该如何发现


共 (1) 个答案

  1. # 1 楼答案

    主要原因是依赖冲突-尝试查找并解决所有冲突

    作为一种解决方法,您可以通过配置maven hpi插件来关闭InjectedTest

    <plugin>
        <groupId>org.jenkins-ci.tools</groupId>
        <artifactId>maven-hpi-plugin</artifactId>
        <configuration>
            <disabledTestInjection>true</disabledTestInjection>
        </configuration>
    </plugin>
    

    jenkins开发小组中关于相同问题的更多讨论: