将2个罐子合并为一个避免重复的类

时间:2013-05-07 18:28:07

标签: java ant

我有两个netbeans项目,我需要在一个“大”jar中合并2个输出jar。问题是这两个项目共享很多类,这显然是个问题。我已经在使用带有zipgroupfileset属性的ANT,但它复制了所有类。有没有办法可以从项目1中选择所有类,那么项目2中缺少的类?非常感谢你的帮助

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

Eclipse为您做到了。

你可以在eclipse中创建一个新项目,在项目中导入你的jar并导出他。

选择Export / Java / Runnable Jar时,选中选项"将所需库提取到生成的jar"中。只复制每个罐子的一个副本。