我正在使用NetBeans 8.0.2构建桌面应用程序。对于我的应用程序,我必须管理3个不同的项目:主项目和两个链接到主要项目的“工具”项目。
当我运行主项目时,它将检查其类路径中存在的JAR,以便检索Manifest文件并进行一些工作。
为了让我的应用程序正确运行,必须看到两个链接项目的JAR,但它没有,因为NetBeans处理项目的编译类而不是JAR(出于调试目的,我推测)。
我在Oracle文档中找不到任何关于它的信息,而且我唯一看起来像是通过使用另一个组件来创建一个大胖的JAR。
有没有办法告诉NetBeans“编译链接的项目并使用JAR而不是.class”文件?提前致谢
编辑:这是我用“添加项目..”选项
添加项目时的示例/ C:/ Users / xxxxx / Documents / GuiceProjectsRD / xxxReaderRef / build / classes /
这是我添加JAR
的示例/C:/Users/xxxxx/Documents/JavaLib/xxxReaderRef.jar
当我添加JAR时,我有“.jar”扩展名,这有助于我识别JAR,然后查看它以获取Manifest。当我添加项目时,没有JAR的路径,只有编译的类,我无法使用它。
答案 0 :(得分:1)
我不会依赖罐子中的清单,因为你会遇到这类问题。
查看Typesafe Config库。它是一个小的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. 然后在您的应用程序中,从Config中,您可以获得一个'工具列表。配置并检测可用的工具。