我在 rhel6 中有一个小脚本,基本上是这样的:
#!/bin/bash
if [ "$JAVA_HOME" = "" ]; then
echo The environment variable JAVA_HOME is not set. Deploy failed.
exit 1
else
CLASSPATH=./lib/ant-nodeps.jar:./lib/ant.jar:./lib/ant-launcher.jar:./lib/tools.jar
#echo classpath: $CLASSPATH
"$JAVA_HOME/bin/java" -Dant.home=./ant org.apache.tools.ant.launch.Launcher -Dinstaller.requested=false -buildfile deploy.xml
fi
我已经尝试了很多事情,但我仍然得到这个启动器未找到错误。蚂蚁版本 -1.9.9
在.bash_profile
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/jre/bin/:/opt/WebSphere/AppServer/java/bin:/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin:/root/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/bin/mozilla:/usr/bin/firefox:/usr/local/apache-ant-1.9.9/bin:/bin/bash:/usr/bin/java:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/jre/bin/:/opt/WebSphere/AppServer/java/bin:/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/bin:/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin:/usr/local/apache-ant-1.9.9/lib/ant-launcher.jar
JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64
ANT_HOME=/usr/local/apache-ant-1.9.9
我也尝试过在bash_profile中设置ANT_LIB,但没有运气。接下来我能做什么??
错误是:错误:找不到或加载主类 org.apache.tools.ant.launch.Launcher
类路径包含相对路径,如 ./lib/ant 中的点所示.jar
CLASSPATH=./lib/ant-nodeps.jar:./lib/ant.jar
点的意思是"这里",如果你在你的主目录,那就是/home/[你的用户名]。您还应该将类路径 var 添加到命令中:
$JAVA_HOME/bin/java -cp $CLASSPATH ...
您可以通过多种方式进行修复
- 将 cd/some/dir 添加到脚本的路径中是/lib/ant.jar
- 使用绝对路径构建类路径变量。
- 如果是这种情况.xml请验证在构建中是否正确设置了类路径。
解决方法:从路径运行脚本是/lib/ant.jar 是。