apache ant无法找到或加载主类org.apache.tools.ant.launch.Launcher

时间:2015-11-09 06:18:44

标签: java linux ant

我正在尝试编译一个在linux上使用apache ant的工具

https://github.com/lindenb/jvarkit

当我尝试编译该工具时,我得到了n错误。

$ make vcffilterjs

这是我在运行命令时得到的结果

echo "Compiling htsjdk with ${JAVA_HOME} = /usr/lib/jvm/java/jre/"
Compiling htsjdk with /usr/lib/jvm/java/jre/ = /usr/lib/jvm/java/jre/
echo "Compiling htsjdk library for java. Requires  apache ANT. If it fails      here, it's a not a problem with jvarkit."
Compiling htsjdk library for java. Requires  apache ANT. If it fails here,  it's a not a problem with jvarkit.
echo "And ${JAVA_HOME}/bin/javac should be >=1.7"
And /usr/lib/jvm/java/jre//bin/javac should be >=1.7
(cd /home/jannahS/jvarkit/htsjdk-1.139 && ant )
Error: Could not find or load main class  org.apache.tools.ant.launch.Launcher
make: *** [/home/jannahS/jvarkit/htsjdk-1.139/dist/htsjdk-1.139.jar] Error 1

我已安装apache ant并尝试在google指令后设置ANT_HOME

export ANT_HOME=apache-ant-1.9.6
ANT_OPTS="-Xms256M -Xmx512M"
PATH=$PATH:$HOME/bin:$ANT_HOME/bin
export ANT_HOME ANT_OPTS PAT

我也设置了JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/jre-1.7.0
export PATH=$JAVA_HOME/jre/bin:$PATH

当我跑步时

ant --execdebug

exec "/usr/lib/jvm/java/jre//bin/java" -Xmx256M -classpath "apache-ant-  1.9.6/lib/ant-launcher.jar" -Dant.home="apache-ant-1.9.6" -Dant.library.dir="apache-ant-1.9.6/lib" org.apache.tools.ant.launch.Launcher -cp ""
Buildfile: build.xml does not exist!
Build failed

我不知道还有什么可以让事情发挥作用。如果没有apache ant,我无法编译我想要使用的工具

6 个答案:

答案 0 :(得分:6)

在ANT_HOME中使用完整路径,例如:

export ANT_HOME=/usr/lib/apache-ant-1.9.6

它依赖于它的确切位置

答案 1 :(得分:3)

无法找到或加载主要课程org.apache.tools.ant.launch.Launcher

在mac中,如果使用brew命令

安装ant,则会出现一些环境问题

从ant中复制lib文件夹并将其粘贴到bin文件夹

现在运行命令问题已解决: - )

问题原因

ant正试图从无效路径中获取bin/lib/ant-launcher.jar文件

答案 2 :(得分:0)

在Mac中,运行brew install ant后,我必须运行brew link ant才能将ant完全链接到系统环境。

运行brew link --verbose --overwrite ant我得到:

Linking /usr/local/Cellar/ant/1.10.5... 
ln -s ../Cellar/ant/1.10.5/bin/ant ant
ln -s ../Cellar/ant/1.10.5/bin/antRun antRun
ln -s ../Cellar/ant/1.10.5/bin/antRun.pl antRun.pl
ln -s ../Cellar/ant/1.10.5/bin/complete-ant-cmd.pl complete-ant-cmd.pl
ln -s ../Cellar/ant/1.10.5/bin/runant.pl runant.pl
ln -s ../Cellar/ant/1.10.5/bin/runant.py runant.py
6 symlinks created

在命令行中不带参数运行“ ant”时:

Buildfile: build.xml does not exist!
Build failed

如果在现有的ant项目的上下文之外进行测试,那是我的期望。

答案 3 :(得分:0)

  1. 运行 "which ant" >> 以了解 ant_home 是否设置。如果没有,请在下面运行您的相应路径以设置 ant_home

导出ANT_HOME =/ade_autofs/gd29_3rdparty/ANT_1.7.1_GENERIC.rdd/080925/ant 导出路径=/ade_autofs/gd29_3rdparty/ANT_1.7.1_GENERIC.rdd/080925/ant:${PATH}

<块引用>

尝试蚂蚁构建。它应该可以正常工作。

答案 4 :(得分:0)

“我同意上述问题的完整路径问题,当文件夹有访问问题时得到相同的异常”

我在 Macbook 中遇到了同样的异常。检查了 Ant 相关 jars 中的所有配置 JAVA_HOME、ANT_HOME 和 org.apache.tools.ant.launch.Launcher 文件。终于找到问题了,是apache-ant文件夹的访问问题。我没有管理员权限,所以我将我的设置移到了桌面。

答案 5 :(得分:-1)

$ make vcffilterjs:使用以下任何“Linux操作系统”进行编译:

Debian 8 Jessie,CentOS 7,Fedora 23,Ubuntu 15.10,PCLinuxOS 2015。

使用默认安装的'ant'和openjdk,无需“ANT_HOME”或“JAVA_HOME”设置。

?你使用哪个“Linux OS”?