我正在运行基本操作系统(基于Ubuntu 12),我遇到运行apache ant的问题。它在重新启动之前就已经工作了,所以我不确定会发生什么变化。
我在/ etc / environment中定义了环境变量,如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$ANT_HOME/bin"
JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386"
ANT_HOME="/opt/ant"
ANT_OPTS="-Xms256M -Xmx512M"
所以我应该设置我的Java和Ant环境变量。我正在尝试使用ant进行部署,使用'ant clean deploy',但是我的终端出现错误:
Error: Could not find or load main class org.apache.tools.ant.launch.Launcher
我尝试过“source / etc / environment”。运行'echo $ ANT_HOME'会显示正确的路径。我已经尝试将ant移动到其他位置并重置变量。没有。我有点迷茫。请帮忙!
答案 0 :(得分:6)
你应该在$ PATH
中使用之前定义$ ANT_HOME JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386"
ANT_HOME="/opt/ant"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$ANT_HOME/bin"
仔细检查$ ANT_HOME / lib
下是否有ant-launcher.jar答案 1 :(得分:0)
正如其他人所说的那样,在您在路径中声明它之前,似乎没有设置ANT_HOME
。
我对这些事情略有不同。我不是经常更新我的PATH,而是将我的道路设置得相当简单:
PATH="/usr/local/bin:/bin:/usr/bin/:$HOME/bin"
然后,我将各种二进制文件的硬链接发送到我的/usr/local/bin
目录。
$ cd $ANT_HOME/bin # All the Ant binaries
> for binary in *
> do
> sudo ln -s $PWD/$binary /usr/local/bin
> done
现在,我不必将$ANT_HOME/bin
添加到$PATH
。更好的是,如果我在/usr/local/bin
和/usr/bin
之前加入/bin
,我首先会在/usr/local/bin
中选择二进制文件。这样,我可以确保运行我安装的版本超过默认值。例如,我的机器在/usr/bin/ant
中附带了Ant 1.7,但我想使用Ant 1.9.1。我可以安装Ant 1.9.1,这将是我的默认版本。
答案 2 :(得分:0)
使用npm install安装ant时遇到同样的错误。当我尝试从官方存储库抛出pacman -S apache-ant
(apt-get install apache-ant
- 对于Debian / Ubuntu)安装时,它开始适合我。
答案 3 :(得分:0)
我遇到了jdk 1.8的这个错误。但是,我遇到了OpenJDK 1.8的RHEL 6.5错误,可能与此有关: https://bugzilla.redhat.com/show_bug.cgi?id=1149605
基本上,它已在RHEL 5.7附带的jpackage-utils-1.7.5-3.13中修复。
问题,正如Javier Ramirez在bug评论中所说:
您的脚本
/usr/share/java-utils/java-functions
存在问题 " openjdk版本"因为它期待" java版本"就像Java 7那样。
$ mkdir /usr/share/java-1.8.0
$ mkdir /usr/lib/java-1.8.0
$ diff /usr/share/java-utils/java-functions.orig /usr/share/java-utils/java-functions
149,150c149,150
< -e '/java \(full \)*version "/s/'$re'/<<<\1>>>/' \
< -e '/java \(full \)*version "/s/.*<<<\([^>]\{1,\}\)>>>.*/\1/p')
---
> -e '/[java|openjdk] \(full \)*version "/s/'$re'/<<<\1>>>/' \
> -e '/[java|openjdk] \(full \)*version "/s/.*<<<\([^>]\{1,\}\)>>>.*/\1/p')
------
答案 4 :(得分:0)
我正在使用RHEL,它带有ant(在/ usr / bin / ant中)和ant库 在/ usr /共享/蚂蚁。如上所述,ant -version给出了“找不到”的错误。 我安装了自己的ant版本(在/ home / Ant中,因为我有很多空间 在/ home)并将ANT_HOME放入我的.bash_profile和我的PATH中的$ ANT_HOME / bin 我的CLASSPATH中有$ ANT_HOME和$ ANT_HOME / bin(用于测量)。然后蚂蚁 工作(当用作我自己,而不是用作根)。