将两个jar合并为一个,避免重复的类



我有两个netbeans项目,我需要合并2个输出jar在只有一个"大"jar。问题是,这两个项目共享很多类,这显然是一个问题。我已经使用ANT与zipgroupfileset属性,但它复制所有的类。有没有一种方法可以让我从项目1中选择所有的课程,然后从项目2中选择缺失的课程?非常感谢您的帮助

编辑:我被迫有2个项目(有时我甚至没有第二个项目,但只是jar),所以我想我有点不得不做一个ANT脚本。奇怪的是没有像这样的属性,不要复制已经存在的类

重复代码容易出错。有几种方法可以解决这个重复。

  1. 项目依赖。让一个项目依赖另一个项目的输出。
  2. 合并项目。如果您正在创建一个单独的jar,那么这些项目可能是合并为单个项目的候选项目。你仍然可以通过模块管理代码分离。
  3. 两者都依赖的第三个项目。我们经常发现自己在所有项目中使用相同的StringUtils或类似的东西。你可以将util/misc代码拉到其他项目共享的另一个项目中,而不是在多个位置维护代码。
  4. 重命名类。如果由于某种原因,类的命名相同,但不相同,那么您需要决定它们是否应该以不同的命名空间/命名,或者您是否希望合并并维护一个副本。

Eclipse为您做的。

您可以在eclipse中创建一个新项目,将您的jar文件导入到项目中并导出。

当你选择Export/Java/Runnable Jar时,选中"Extract required libraries into generated Jar"选项。每个jar只复制一份。

相关内容

  • 没有找到相关文章

最新更新