繁体   English   中英

如何使用NetBeans IDE将外部jar和文件夹嵌入一个可执行的jar文件

[英]How to EMBED external jar and FOLDERS into one executable jar file using NetBeans IDE

我有一个标准文件夹结构的netbean项目。 项目依赖项是guava.jar,一个带有纯文本文件的文件夹以及一个带有嵌套文件夹的文件夹,每个文件夹都包含图像,总计超过20K图像,大小为500MB。 标准构建过程会生成myjar.jar,如果它在与我的依赖项相同的文件夹中运行,则它将在ide之外完美运行。 文件夹树就像

root/
  image/
     folder1/
             image1.png
             image2.png
       folder2/
      ...
      ...
   txtfolder/
      file.txt
   lib/
      guava.jar
   myJar.jar

部署上面的文件结构可以很好地工作,但是要求将上面的文件结构部署为一个可执行的jar文件,例如myJarAll.jar(自然,大小将近600MB)。

我已经尝试过将jar文件和文件夹作为依赖项添加到netbean项目中,然后进行一个干净的构建,但是它不会生成myJarAll.jar。 理想的情况是对源代码进行零更改,并整理ant文件以使其生成组合的jar。

我尝试过的一种解决方案是从图像和文本文件夹创建外部jar文件,并将它们添加为项目的依赖项。 这种方法的问题在于,它期望对原始源代码进行大量更改。

可以解决此问题的任何帮助,建议或工具。

谢谢

最简单的方法是在myJar.jar添加一个META-INF / MANIFEST.MF,列出lib的库jar。 guava.jar之外的lib文件夹中,您可以创建一个源于第二个项目的myResources.jar 或将这些文件添加到myJar.jar。 (NetBeans IDE已经维护了清单。)

不可避免的是将文件作为只读Java资源加载到src目录下的类路径中(请参见NetBeans中的“文件”选项卡)。 因此,问题是您是否已经在使用getClass().getResourceAsStream("/txtfolder/file.txt")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM