Java NetBeans:强制将外部类静态编译到JAR中?

Java NetBeans:强制将外部类静态编译到JAR中?,java,netbeans,jar,Java,Netbeans,Jar,我有一个NetBeans项目,它依赖于另一个项目中的一个特定Java类。现在,当NetBeans编译项目时,它只添加了对另一个Java类的引用,这会导致NoClassDefFoundError,因为外部类不在JAR中 我怎样才能在构建外部文件时强制NetBeans将其编译到JAR中,而不是复制和粘贴它呢?如果它是基于Maven的,只需在适当的阶段使用ant任务将类复制到您的目标/类中(我猜是编译源代码之类的-在测试之前) 如果它是基于Ant的,那么您必须破解NetBeans的Ant构建脚本,这些

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


我怎样才能在构建外部文件时强制NetBeans将其编译到JAR中,而不是复制和粘贴它呢?

如果它是基于Maven的,只需在适当的阶段使用ant任务将类复制到您的目标/类中(我猜是编译源代码之类的-在
测试
之前)

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

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


我可能还建议JDGUI对该项目进行反编译,并挑选所需的类

如果它是基于Maven的,只需在适当的阶段使用ant任务将类复制到您的目标/类中(我猜是编译源代码之类的,在
测试之前)

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

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


我可能还建议JDGUI对该项目进行反编译,并挑选所需的类

我认为您正在尝试创建一个通常被称为“胖JAR文件”的文件;i、 e.包含应用程序所需的所有类的JAR文件

试试这个食谱

另一种选择是向Ant
buld.xml
文件中添加如下内容

<target name="-post-jar">
   <jar update="true" destfile="${dist.jar}">
     <zipfileset src="${javac.classpath}"/>
   </jar>
</target>

我认为您正在尝试创建一个通常被称为“胖JAR文件”的文件;i、 e.包含应用程序所需的所有类的JAR文件

试试这个食谱

另一种选择是向Ant
buld.xml
文件中添加如下内容

<target name="-post-jar">
   <jar update="true" destfile="${dist.jar}">
     <zipfileset src="${javac.classpath}"/>
   </jar>
</target>


它不是。它们是vanilla NetBeans Java项目。vanilla意味着它使用NetBeans内置的基于Ant的构建机制。它不是。它们是vanilla NetBeans Java项目。vanilla意味着它使用NetBeans内置的基于Ant的构建机制。