[英]Run NetBeans project just with ant
我有一個使用Netbeans構建的示例代碼。
它有一個build.xml文件,所以我下載了ant並嘗試運行它。
我有這個錯誤信息:
...... nbproject\build-impl.xml:76: Platform is not correctly set up
對於我所看到的,這可以通過“簡單地”下載Netbeans並從那里運行樣本來解決,但是......我不想安裝它來運行10個文件樣本。
是否有使用Java運行Netbeans項目的解決方法? 什么是我必須修改的正確的.properties文件?
它可以運行直接從Java / ANT生成的項目在NetBeans,但您可能需要手動設置某些屬性和/或添加路徑JAR文件。
遺憾的是,NetBeans傾向於使用自己的JAR文件和引用屬性來包含taskdef,這些文件和引用屬性僅在/nbproject/private/private.properties
文件中定義,這些文件通常在您第一次打開NetBeans項目時設置或在您編輯項目時進行修改IDE。
如果檢查build-impl.xml
您應該能夠找到屬性並派生需要設置的值(OS平台),然后:
/nbproject/private.properties
創建/設置該屬性 build.xml
添加該屬性定義 -DPlatform=Foo
調用ant目標時傳入命令行 就個人而言,我喜歡NetBeans生成的ANT文件和目標的結構,但是他們討厭有多少自定義/專有內容,這使得沒有NetBeans很難運行。
例如:
ant -Dplatforms.JDK_1.7.home=/opt/jdk
我剛剛用ant成功構建了NetBeans項目。 這些是我必須做的事情:
<NetBeans-folder>
/ java2 / ant復制到“Netbeanless”計算機 <platform-name>
.home = <path to platform>
<path to nb-ant>
/extra/org-netbeans-modules-java-j2seproject-copylibtask.jar ant -propertyfile ant.properties
它有效,但不會讓我開心。 我想要找到重用project.properties的方法,或者自動將其轉換為“已解析”版本(步驟3)。 然后可以自動構建構建。
我剛剛使用NetBeans 7.0項目完成了這個練習。 我能夠做的是從我的Windows系統上的.netbeans \\ 7.0目錄中復制我的build.properties文件,並為我的構建服務器創建一個server.properties文件。 這並不是一件容易的事,因為每個開發人員的build.properties可能會有所不同,因此可以預期為服務器提供另一個文件。 然后我將一個簡單的server-build.xml文件放在一起,該文件引用了這個文件,並且只執行init,compile,dist和clean的基礎知識。 我將這兩個文件提交到我的項目目錄頂層的CVS存儲庫,因為它們不與其他項目文件沖突,並在需要更新的情況下用作提醒。 現在,我可以使用“ant -f server-build.xml”在我的CI服務器上構建我的項目,一切正常。
我的整個init部分看起來像這樣,給我的服務器路徑優先,但包括NetBeans項目屬性中的必要信息。
<target name="init">
<property file="server.properties"/>
<property file="nbproject/project.properties"/>
</target>
在為嵌套項目定義ant任務時,我還必須做類似的事情:
<target name="compile">
<ant antfile="${project.MyProj-common}/build.xml" inheritall="false" target="jar">
<property location="${build.dir}" name="dist.ear.dir"/>
<property file="server.properties"/>
<property file="${project.MyProj-common}/nbproject/project.properties"/>
</ant>
...
</target>
我不得不將project.properties中的j2ee.platform.classpath復制到我的server.properties文件中,以確保根據需要解析對j2ee.server.home的引用。 我沒想到必須這樣做,但是類路徑錯了,導致構建失敗。
感謝您提供有關此問題的信息,因為它有助於我指導此解決方案。
我剛遇到同樣的問題。 我希望我可以擺脫netbeans去eclipse和maven,就這樣。
但是這里有一個很好的鏈接,可以將netbeans中的ant構建項目導出到一個持續集成服務器(或者也可以進入任何其他IDE)。
技術進展順利。 以下是摘要:
-silent
) nbproject
它應該工作。
我正在使用Netbeans 6.8,使用Netbeans創建的java項目可以從Netbeans自動生成的構建文件中運行,而cli上只有ant。 所有常規目標,如ant compile
, ant run
, ant clean
等“正常工作”。 (如果重要,我正在使用Fedora 13)
只是為了添加Mads的答案...通常,您需要在目標計算機上至少安裝和打開一次Netbeans。 ANT項目還依賴於USERDIR / .netbeans / ...目錄中的一些設置。 這可能已經改變了6.5+。
這將獲得一些配置的基本設置,並將類路徑定義為netbeans jar。 如果自上次在Netbeans中打開項目以來,您的依賴項(即庫)或項目正在從不同的目錄運行,則需要調整private.properties文件中的一些設置,如Mads所述。
您可以將此repo僅用於https://github.com/albfan/ant-netbeans
它克服了netbeans包裝的ant配置的所有奇怪之處,因此您只需要:
編譯:
$ ant.sh compile
跑步:
$ ant.sh run
無論如何(自動完成):
$ ant.sh <tab><tab>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.