Java 包含项目中的 Netbeans 循环依赖
Java Netbeans circular dependency in included project
我正在使用 Netbeans 8.0、Java 1.7 和 Excelsior Jet 9。我的现有项目存在项目依赖性问题。项目 A(主项目)有一些可扩展的 classes,而项目 B 正在扩展其中的一些 classes。我正在从项目 A 动态加载项目 B 的 classes。但是,我必须在 class 路径中复制项目 B 依赖项(尽管项目 A 已在其自己的 .. /lib 文件夹)。
问题是完整的 Project A jar 文件也需要位于 class 路径中。我正在使用 Excelsior JET 将项目 A 编译为本机代码(以避免代码伪造)并尝试使用项目 B(只需使用 Java 编译器进行编译并在 class 路径中使用其 jar 文件)作为一种一个驱动程序框架。
使用此方案,我可能不必每次在添加新驱动程序后都编译完整的项目。
但是由于这种循环依赖,我不能使用这个方案(不能公开我的 ProjectA.jar 文件)。我做错了什么还是 Java/class 路径限制?
回答您实际提出的唯一问题,是的,您做错了什么,这不是 Java/classpath 限制。
B 正在尝试从 A 扩展 类,A 也在尝试从 B 加载 类。这无法完成。
您需要
- 将 A 和 B 合并为一个项目
- 从其中一个项目中删除共享代码(例如,B 需要的 A 中的 类),并将它们放在 A 和 B 都依赖的另一个项目 C 中。
我正在使用 Netbeans 8.0、Java 1.7 和 Excelsior Jet 9。我的现有项目存在项目依赖性问题。项目 A(主项目)有一些可扩展的 classes,而项目 B 正在扩展其中的一些 classes。我正在从项目 A 动态加载项目 B 的 classes。但是,我必须在 class 路径中复制项目 B 依赖项(尽管项目 A 已在其自己的 .. /lib 文件夹)。 问题是完整的 Project A jar 文件也需要位于 class 路径中。我正在使用 Excelsior JET 将项目 A 编译为本机代码(以避免代码伪造)并尝试使用项目 B(只需使用 Java 编译器进行编译并在 class 路径中使用其 jar 文件)作为一种一个驱动程序框架。 使用此方案,我可能不必每次在添加新驱动程序后都编译完整的项目。 但是由于这种循环依赖,我不能使用这个方案(不能公开我的 ProjectA.jar 文件)。我做错了什么还是 Java/class 路径限制?
回答您实际提出的唯一问题,是的,您做错了什么,这不是 Java/classpath 限制。
B 正在尝试从 A 扩展 类,A 也在尝试从 B 加载 类。这无法完成。
您需要
- 将 A 和 B 合并为一个项目
- 从其中一个项目中删除共享代码(例如,B 需要的 A 中的 类),并将它们放在 A 和 B 都依赖的另一个项目 C 中。