2012-07-09 45 views
0

我有一个独立的java程序,包括我自己的jar和许多独立的库作为单个存档(构建wby maven,实际上是15个JAR文件)。做一些人已经有一个很好的解决方案,他/她可以向我推荐如何避免这种情况并使包装变得更加智能?寻找独立的类加载器

例如像EAR压缩包这样的包装会很棒,但是在我的非Java EE应用程序中可以使用任何独立的EAR类加载器吗?

回答

2

还有Eclipse Fat Jar plugin。在他们自己的话说:

肥罐Eclipse插件是一个部署工具,其部署的 Eclipse的Java的项目到一个可执行的JAR文件。

它将条目“Build Fat-JAR”添加到导出向导中。除了 日蚀标准jar-exporter引用的类和jar包含在“Fat-Jar”中的 ,所以生成的jar包含所有需要的类 类,并且可以直接用“java -jar”执行,没有类路径 has被设置,不需要部署额外的罐子。

插件考虑了Jars,External-Jars,用户库,系统库,类文件夹 和Project-Exports。 Main-Class可以选择 并将Manifest-files合并。 One-JAR选件 集成了由Simon Tuffs( http://one-jar.sourceforge.net/)编写的专门的Class-Loader,它可以在一个 罐子内处理jar文件。个别文件和文件夹可以被排除或添加到jar中。 不同的设置可以通过 上下文菜单作为“快速构建”存储和重新执行。

+0

这一个听起来我在找什么:“Simon Tuffs编写的类加载器(http://one-jar.sourceforge.net/),它处理jar中的jar文件” – 2012-07-09 14:11:58

1

嗯,我不知道你在用哪个IDE。我有Eclipse Indigo(3.7)。对我来说,步骤很简单:在你的Java项目文件夹

  1. 右键单击
  2. 单击导出
  3. 上,来了选择Java>运行的JAR文件的窗口,然后单击下一步
  4. 在在下一个窗口中,选择你希望你的程序在
  5. 运行选择目标文件夹
  6. 在“Library处理:”配置部分确保您选择“提取requir ed库生成JAR“,这将打开你的库,然后将它们重新打包到你的完成.jar
  7. 单击完成
  8. 你完成了!请享用。

如果您的食谱版本少于Ganymede(3.4),您需要获取Fat Jar Plug-in

+0

这些步骤基本相同作为Fat Jar插件。 Fat Jar插件已集成到Eclipse Ganymede中。 – 2012-07-09 14:08:17

+0

使用eclipse不是一个选项,我也不想提取依赖jar,因为它们中的一些可能有内部资源。我正在寻找的是某种“外部”容器,我可以将它放入JAR中,正如我可以使用EAR一样。 – 2012-07-09 14:11:19

相关问题