来自脚本问题的ant.launcher

时间:2017-03-30 20:46:20

标签: java bash ant redhat system-paths

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

1 个答案:

答案 0 :(得分:0)

您的类路径包含相对路径,如./lib/ant.jar

中的点所示
CLASSPATH=./lib/ant-nodeps.jar:./lib/ant.jar

点表示“在这里”,如果您在主目录,那就是/ home / [您的用户名]。 您还应该将classpath var添加到命令:

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

您可以通过多种方式修复

  1. 在路径中添加cd / some / dir为/lib/ant.jar
  2. 使用绝对路径构建CLASSPATH var。
  3. 如果是这种情况,请验证是否在build.xml中正确设置了类路径。
  4. 的解决方法: 从/lib/ant.jar的路径运行脚本。