从java8更改为Java10后出现NoClassDefFoundError
我在谷歌上搜索了尽可能多的信息,但仍然找不到解决方案。可能我的搜索查询不正确或不详细 我知道从Java8到Java10有很多API变化。jdk的结构对于8到10也有很大的变化 问题: 我有以下依赖项:从java8更改为Java10后出现NoClassDefFoundError,java,eclipse,java-10,Java,Eclipse,Java 10,我在谷歌上搜索了尽可能多的信息,但仍然找不到解决方案。可能我的搜索查询不正确或不详细 我知道从Java8到Java10有很多API变化。jdk的结构对于8到10也有很大的变化 问题: 我有以下依赖项: 项目A-->项目B-->项目C 项目A中的一些类将调用项目B中的类,项目B中的一些类将调用C。在Java8中没有问题 升级到Java10后,出现NoClassDefFoundError异常 我找到了两种方法来克服这个问题 项目A现在也依赖于项目C 在Java构建路径选项卡-->顺序和导出选项卡中,
项目A-->项目B-->项目C 项目A中的一些类将调用项目B中的类,项目B中的一些类将调用C。在Java8中没有问题 升级到Java10后,出现NoClassDefFoundError异常 我找到了两种方法来克服这个问题
我也为我的问题感到高兴。我使用旧版本的eclipse和java创建了这个工作区。我可以复制这个。代码可以编译,但执行时会出现错误。 这是一个eclipse错误 请在报到处报到
一个可能的解决方法是:编辑运行配置,转到
依赖项
选项卡,使用添加变量字符串
,其值为${project\u classpath}
我可以重现这个结果。代码可以编译,但执行时会出现错误。
这是一个eclipse错误
请在报到处报到
一个可能的解决方法是:编辑运行配置,转到
依赖项
选项卡,使用添加变量字符串
,值为${project\u classpath}
请发布一个;由于没有一个实际的例子来说明这个问题,因此很难找到答案。例如,问题可能是使用JAXB(默认情况下不再加载,并将在Java 11、iirc中删除),或者完全是其他问题。文章中有一个最小的代码示例,但请确保将每个类放在单独的项目中Eclipse项目与Java无关,无论您使用的是哪个Java版本。也许您忘了提到,您在迁移时也更改了Eclipse版本,正如您所描述的,这仅仅是一个Eclipse配置问题;由于没有一个实际的例子来说明这个问题,因此很难找到答案。例如,问题可能是使用JAXB(默认情况下不再加载,并将在Java 11、iirc中删除),或者完全是其他问题。文章中有一个最小的代码示例,但请确保将每个类放在单独的项目中Eclipse项目与Java无关,无论您使用的是哪个Java版本。也许您忘了提到,您在迁移时也更改了Eclipse版本,正如您所描述的,这仅仅是一个Eclipse配置问题。可能是我为此创建的副本。我为此创建的。
package pkg;
public class ClassA {
public ClassA() {
new ClassB();
}
public static void main(String[] args) {
new ClassA();
}
}
package pkg;
public class ClassB {
public ClassB() {
callClassC();
}
public void callClassC() {
ClassC classC = new ClassC();
String info = classC.getInfo();
System.out.println(info);
}
}
package pkg;
public class ClassC {
public String getInfo() {
return "Class c info";
}
}