有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将2个JAR合并为一个避免重复类

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

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


共 (2) 个答案

  1. # 1 楼答案

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

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

    Eclipse为您制作

    您可以在eclipse中创建一个新项目,在项目中导入您的JAR并导出它

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