代码之家  ›  专栏  ›  技术社区  ›  erjiang

netbeans:强制将外部类静态编译到jar中?

  •  1
  • erjiang  · 技术社区  · 14 年前

    我有一个依赖于另一个项目中一个特定Java类的NETBeaS项目。现在,当NETBeBE编译这个项目时,它只添加了另一个Java类的引用,这导致了NoClassDefFoundError,因为外部类不在jar中。

    在构建外部文件时,除了复制和粘贴外,我如何强制netbeans将其编译到jar中?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Stephen C    14 年前

    我认为您正在尝试创建一个通常称为“胖jar文件”的文件,即包含应用程序所需的所有类的jar文件。

    试一试菜谱 this forum posting .

    另一种选择可能是向您的蚂蚁添加如下内容 buld.xml 文件。

    <target name="-post-jar">
       <jar update="true" destfile="${dist.jar}">
         <zipfileset src="${javac.classpath}"/>
       </jar>
    </target>
    
        2
  •  0
  •   Ondra Žižka David Lilljegren    14 年前

    如果它是基于Maven的,只需使用Ant任务在适当的阶段将类复制到目标/类(我猜是编译源代码或类似的东西之前 test )

    如果它是基于Ant的,那么您就必须破解NetBeans的Ant构建脚本,这些脚本在每个项目中都是可扩展的。

    顺便说一句,标准的方法是使“另一个项目”成为项目的依赖项。该类可能需要来自该项目的其他类…等等。

    我可能还建议JDGUI对该项目进行反编译,并挑选您需要的类。 http://java.decompiler.free.fr/?q=jdgui