0

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

4

1 回答 1

0

您的类路径包含 ./lib/ant.jar 中的点表示的相对路径

CLASSPATH=./lib/ant-nodeps.jar:./lib/ant.jar

点的意思是“这里”,如果你在你的主目录,那就是/home/[你的用户名]。您还应该将类路径变量添加到命令中:

$JAVA_HOME/bin/java -cp $CLASSPATH ...

您可以通过多种方式修复

  1. 在脚本中添加一个 cd /some/dir 到路径是 /lib/ant.jar 是
  2. 使用绝对路径构建 CLASSPATH var。
  3. 如果是这种情况,请验证是否在 build.xml 中正确设置了类路径。

解决方法:从路径分别运行脚本是/lib/ant.jar。

于 2017-03-31T13:31:56.793 回答