如何将资源放在类包树之外?

时间:2018-01-08 15:47:56

标签: java swing netbeans resources package

我想部署(create myapp.jar并从此.jar创建myapp.exe安装程序文件)java swing应用程序。

我有一些套餐:

  • resource package (net.myapp.ui.resource)里面有.png,.wav,...文件)
  • 我在里面的
  • output report package (net.myapp.ui.jasper.output.report)导出了文件(report1.pdf,report2.pdf等)
  • config package (ne.myapp.ui.config)包含 config.properties 文件,该文件可以在应用安装完成后更新,因为此文件包含**persistence.xml**属性 以创建EntityManagerFactory动态取决于数据库服务器信息。

从NetBeans IDE我可以运行应用程序,它的工作没有问题;但是当我构建app时,会创建一个.jar文件:在dist目录中我只有:

 --> myapp.jar
 --> lib folder

所以我无法访问config.properties 设置数据库服务器IP以及其他参数,这些参数将在persistence.xml中使用 at运行时。

问题是:如何不在类包树中放置资源,输出报告,配置...但是在外部并使用getResources()或getResourceAsStream()从代码访问每个资源ClassLoader?

我想要这个结构(在netbeans项目构建之后):

dist (folder)
  /myApp.jar
  /lib/lots-of-jar’s
  /config/config.properties
  /resources/my_cat.jpg
  /output/report/report1.pdf, ...
  ....

感谢您的帮助。

0 个答案:

没有答案