Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache camel ApacheCamel 3.X迁移-ClassNotFoundException:org.Apache.Camel.impl.BreakpointSupport_Apache Camel_Spring Camel - Fatal编程技术网

Apache camel ApacheCamel 3.X迁移-ClassNotFoundException:org.Apache.Camel.impl.BreakpointSupport

Apache 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

将应用程序从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.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>