Apache camel ApacheCamel 3.X迁移-ClassNotFoundException:org.Apache.Camel.impl.BreakpointSupport
将应用程序从2.X迁移到3.X时,生成成功,但测试失败,ClassNotFoundException:org.apache.camel.impl.BreakpointSupportApache camel ApacheCamel 3.X迁移-ClassNotFoundException:org.Apache.Camel.impl.BreakpointSupport,apache-camel,spring-camel,Apache Camel,Spring Camel,将应用程序从2.X迁移到3.X时,生成成功,但测试失败,ClassNotFoundException:org.apache.camel.impl.BreakpointSupport java.lang.NoClassDefFoundError: org/apache/camel/impl/BreakpointSupport at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.d
java.lang.NoClassDefFoundError: org/apache/camel/impl/BreakpointSupport
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:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredClasses0(Native Method)
at java.lang.Class.getDeclaredClasses(Class.java:1867)
at java.lang.Class$2.run(Class.java:1504)
at java.lang.Class$2.run(Class.java:1499)
at java.security.AccessController.doPrivileged(Native Method)
at java.lang.Class.getClasses(Class.java:1498)
at org.testng.internal.ClassInfoMap.registerClass(ClassInfoMap.java:43)
at org.testng.internal.ClassInfoMap.<init>(ClassInfoMap.java:29)
at org.testng.internal.ClassInfoMap.<init>(ClassInfoMap.java:21)
at org.testng.TestRunner.initMethods(TestRunner.java:369)
at org.testng.TestRunner.init(TestRunner.java:271)
at org.testng.TestRunner.init(TestRunner.java:241)
at org.testng.TestRunner.<init>(TestRunner.java:167)
at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:663)
at org.testng.SuiteRunner.init(SuiteRunner.java:260)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Caused by: java.lang.ClassNotFoundException: org.apache.camel.impl.BreakpointSupport
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 35 more```
java.lang.NoClassDefFoundError:org/apache/camel/impl/BreakpointSupport
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:763)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
在java.net.URLClassLoader.access$100(URLClassLoader.java:73)
在java.net.URLClassLoader$1.run(URLClassLoader.java:368)
在java.net.URLClassLoader$1.run(URLClassLoader.java:362)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:361)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
位于java.lang.Class.getDeclaredClasses0(本机方法)
位于java.lang.Class.getDeclaredClasses(Class.java:1867)
位于java.lang.Class$2.run(Class.java:1504)
java.lang.Class$2.run(Class.java:1499)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.lang.Class.getClasses(Class.java:1498)
位于org.testng.internal.classinfo.registerClass(classinfo.java:43)
位于org.testng.internal.ClassInfo地图(ClassInfo地图.java:29)
位于org.testng.internal.ClassInfo地图(classinfo.java:21)
位于org.testng.TestRunner.initMethods(TestRunner.java:369)
位于org.testng.TestRunner.init(TestRunner.java:271)
位于org.testng.TestRunner.init(TestRunner.java:241)
位于org.testng.TestRunner.(TestRunner.java:167)
位于org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:663)
位于org.testng.SuiteRunner.init(SuiteRunner.java:260)
位于org.testng.SuiteRunner(SuiteRunner.java:198)
位于org.testng.testng.createSuiteRunner(testng.java:1295)
位于org.testng.testng.createSuiteRunners(testng.java:1273)
位于org.testng.testng.runSuitesLocally(testng.java:1128)
位于org.testng.testng.runSuites(testng.java:1049)
位于org.testng.testng.run(testng.java:1017)
运行(IDEARemoteTestNG.java:72)
位于org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
原因:java.lang.ClassNotFoundException:org.apache.camel.impl.BreakpointSupport
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 35多```
pom.xml
${camel.version}-->3.5.0(尝试了3.1.0到3.5.0)
${testng.version}-->6.14.3
org.apache.camel
骆驼泉
${camel.version}
org.springframework
春季aop
org.apache.camel
驼峰支撑
${camel.version}
org.apache.camel
骆驼座
${camel.version}
org.apache.camel
驼芯
${camel.version}
org.testng
testng
${testng.version}
测试
类:应用程序中未使用断点支持,它主要是来自一个camel模块的引用,在最新版本的camel中,断点支持被移动到org.apache.camel.processor.interceptor,但它仍在尝试从旧位置获取。发现问题。
camel testng已被弃用,camel鼓励使用junit。
迁移到Junit5解决了这个问题。那么您阅读了迁移指南了吗?有了JDK11,很多事情都发生了变化。@Namphibian我做到了,经历了。我仍在使用Java 8,正如迁移文档所说,他们仍将支持早期版本的Java 8,我还使用3.1.0、3.2.0进行了测试,并发现问题没有什么不同,因为Camel已经从3.5.0停止支持Java8。
pom.xml
${camel.version} --> 3.5.0 (tried 3.1.0 to 3.5.0)
${testng.version} --> 6.14.3
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>${camel.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-base</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
<scope>test</scope>
</dependency>