我试图在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