我正在用NetBeans 8.0.2构建一个桌面应用程序。对于我的应用程序,我必须管理3个不同的项目:主项目,以及链接到主项目的两个"工具"项目。
当我运行主项目时,它将检查类路径中存在的jar,以便检索Manifest文件并对其进行一些处理。
为了让我的应用程序正确运行,它必须看到两个链接项目的JAR,但它没有,因为NetBeans处理项目的编译类而不是JAR(我认为是为了调试目的)。
我在Oracle文档中没有找到关于它的任何内容,唯一看起来有点像我搜索的是通过使用另一个组件创建一个big-fat-JAR。
有没有办法告诉NetBeans"编译链接的项目并使用jar而不是。class"文件?提前感谢
编辑:这里是一个例子,当我添加项目与"添加项目.."选项
/C:/用户/xxxxx/文件/GuiceProjectsRD/xxxReaderRef/构建/类/
这里是一个例子当我添加JAR
/C:/用户/xxxxx/文件/JavaLib/xxxReaderRef.jar
当我添加JAR时,我有"。JAR"扩展名,它可以帮助我识别一个JAR,然后查看它的Manifest。当我添加项目时,没有到JAR的路径,只有到编译的类的路径,我无法使用它。
我不会依赖于jar中的manifest,因为您会遇到这种问题。
看一下Typesafe配置库。它是一个小型的100%纯Java库,用于Json/Hokon配置。而不是依赖于Manifest,在每个工具项目中创建一个"reference.conf"。在您的应用程序中,创建一个'application.conf'(如果需要)。通过'ConfigFactory.load()'加载配置。它将自动搜索类路径中所有可用的reference.conf和application.conf,无论是否在jar中,并将这些配置合并为一个配置。
我在项目中使用这种方法,以便能够插件扩展。例如,在工具A中有如下配置
tool.A.class = 'my-tool-A.class'
或使用嵌套结构,如
tool {
A {
class = 'my-tool-A.class'
}
}
为工具B做类似的事情。然后在你的应用程序中,从配置中,你可以得到一个"工具"配置列表,并检测可用的工具。