簡體   English   中英

NetBeans:強制將外部類靜態編譯為JAR?

[英]NetBeans: Force external class to be statically compiled into JAR?

我有一個NetBeans項目,該項目依賴於另一個項目中的一個特定Java類。 現在,當NetBeans編譯項目時,它僅添加對另一個Java類的引用,這將導致NoClassDefFoundError,因為外部類不在JAR中。

在構建時,如何強制NetBeans將外部文件編譯到JAR中,而無需復制和粘貼呢?

我認為您正在嘗試創建通常被稱為“胖JAR文件”的文件; 即一個JAR文件,其中包含應用程序的所有必需類。

此論壇中嘗試食譜。

另一種選擇是將以下內容添加到您的Ant buld.xml文件中。

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

如果基於Maven,則只需使用ant任務即可在適當的階段將類復制到您的目標/類中(我猜是compile-sources或類似的東西- test之前)。

如果是基於Ant的,則必須破解NetBeans的ant構建腳本,該腳本可按項目擴展。

順便說一句,標准方法是使“另一個項目”成為您項目的依賴項。 該類可能需要該項目中的其他類……等等。

我可能還會建議JDGUI對該項目進行反編譯,並挑選所需的類。 http://java.decompiler.free.fr/?q=jdgui

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM