我試圖在Linux中運行一個螞蟻生成,我得到奇怪的結果。如果沒有在類路徑中指定每個庫,我似乎無法運行任何東西,所以我係統地將「lib」和「ant/dep/lib」位置中的每個jar都明確地添加到類路徑中。在Linux中的螞蟻生成
它運行一點沒有任何問題(這是一個設置批處理,所以在腳本的第一個階段,它使用了大量的「輸入」任務),然後我收到消息org.apache.tools.ant找不到.taskdefs.optional.PropertyFile。環顧四周,我發現它位於ant-nodeps.jar中,我已將它添加到類路徑中,但沒有更改。
由於缺少庫而導致完全失敗,我可以理解,但如果我確信包含了每個庫(包括ant-nodeps.jar),爲什麼構建會部分運行?
腳本文件來啓動其計算方法如下:
#!/QOpenSys/usr/bin/bsh
ANT_HOME=dep/ant
PARAMS="-Dant.home=$ANT_HOME -Dsystem.type=as400 -Dis-as400=y"
LIBS="lib/ant-contrib-1.0b3.jar:lib/ant-launcher.jar:lib/ant.jar:lib/catalina-ant.jar:lib/catalina-deployer.jar:lib/commons-net-2.2.jar:lib/el-api.jar:lib/ganymed.jar:lib/jakarta-oro-2.0.8.jar:lib/jasper-el.jar:lib/jasper.jar:lib/jsp-api.jar:lib/log4j-1.2.16.jar:lib/mail.jar"
ANTLIBS="$ANT_HOME/lib/ant-antlr.jar:$ANT_HOME/lib/ant-jai.jar:$ANT_HOME/lib/ant-starteam.jar:$ANT_HOME/lib/ant-apache-bcel.jar:$ANT_HOME/lib/ant-javamail.jar:$ANT_HOME/lib/ant-stylebook.jar:$ANT_HOME/lib/ant-apache-bsf.jar:$ANT_HOME/lib/ant-jdepend.jar:$ANT_HOME/lib/ant-swing.jar:$ANT_HOME/lib/ant-apache-log4j.jar:$ANT_HOME/lib/ant-jmf.jar:$ANT_HOME/lib/ant-testutil.jar:$ANT_HOME/lib/ant-apache-oro.jar:$ANT_HOME/lib/ant-jsch.jar:$ANT_HOME/lib/ant-trax.jar:$ANT_HOME/lib/ant-apache-regexp.jar:$ANT_HOME/lib/ant-junit.jar:$ANT_HOME/lib/ant-weblogic.jar:$ANT_HOME/lib/ant-apache-resolver.jar:$ANT_HOME/lib/ant-launcher.jar:$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/ant-commons-logging.jar:$ANT_HOME/lib/ant-netrexx.jar:$ANT_HOME/lib/xercesImpl.jar:$ANT_HOME/lib/ant-commons-net.jar:$ANT_HOME/lib/ant-nodeps.jar:$ANT_HOME/lib/xml-apis.jar"
java -classpath $LIBS:$ANTLIBS $PARAMS org.apache.tools.ant.launch.Launcher -buildfile install/install.xml
任何幫助,將不勝感激,哪怕只是什麼嘗試建議。
編輯:根據oers觀察,我意識到有螞蟻畢竟有shell腳本(可惜,我不是linux的專家),所以我會嘗試使用它來啓動螞蟻而不是嘗試自己做同樣的事情。我會讓每個人都知道我的進展,並且/或者我是否能夠以這種方式解決問題。
你爲什麼要寫自己的螞蟻腳本?有一個可執行文件在螞蟻/斌 這基本上是一樣的(向類路徑添加一切,但使用遍歷每個jar文件的迭代) – oers 2011-04-01 08:05:44
它使用.bat文件和perl腳本,並儘可能多地我想在這臺機器上安裝perl,這個設置必須始終工作,這意味着我必須在運行安裝程序之前自動執行一些perl安裝,我寧願不必爲了能夠運行ant而這樣做。 – Neil 2011-04-01 08:07:36