我正在尝试做一个模块化应用程序,但我遇到了问题,因为我有两个模块,其中一个依赖于另一个。
例如:模块 1 有一个从模块 2 导入类的类。
我在模块 1 的 Manifest.txt 中添加了以下行:
Class-Path: modulo_2.jar
...但是我在创建 jar 时遇到错误,因为我无法解决从模块 2 导入模块 1 中需要的类。尽管有错误,但正在创建 jar。部署项目后,我仍然有同样的错误,说我的类无法解析导入,任何人都知道如何使这项工作。
当您构建 jar(编译时)时,module_2.jar 应该在类路径中。您需要先构建 module_2.jar 并将其添加到类路径中。如果您使用命令行构建:
javac -cp module_2.jar my_java_files
在运行时,module_2.jar 必须位于您在清单文件中指定的位置。如果您使用了 Class-Path: module_2.jar,则将 module_2 与 module_1 放在同一文件夹中并像这样运行它:
java -jar module_1.jar MyMainClass
或者,您可以尝试使用具有非常好的依赖管理功能的 Maven2 构建,而不是自己弄乱清单,并使用程序集插件构建一个可分发的 tar.gz,在其中发布您的应用程序及其依赖项。