【问题标题】:Ant: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/LauncherAnt:线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/tools/ant/launch/Launcher
【发布时间】:2011-05-12 00:40:01
【问题描述】:

我已经在我的系统中安装了 ubuntu 10.10 并使用以下命令安装了 ant: sudo apt-get 安装蚂蚁

现在,ant 在 share 文件夹中可见,所以我尝试在终端中运行 ant 命令,但它给了我这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.

然后我再次设置这些:

JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.22/"
ANT_HOME="/usr/share/ant/"
PATH="/usr/share/ant/bin/"

现在它给了我同样的错误,但在开始时有一个不同的行:

/usr/share/ant/bin/ant: 92: uname: not found
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.

【问题讨论】:

  • 你能检查$ANT_HOME/lib目录的内容吗?这就是 ant-launcher.jar 应该在的地方。

标签: ant ubuntu classnotfoundexception


【解决方案1】:

尝试以下方法:

JAVA_HOME="/usr/lib/jvm/java-6-sun"
ANT_HOME="/usr/share/ant" # do not add "bin" at the end of the path**
PATH="$ANT_HOME/bin:$PATH"

【讨论】:

  • 这是一个很大的帮助,我一直使用 /usr 作为 ANT_HOME,因为 /usr/bin 中有二进制文件
  • 我遇到的问题是 ANT_HOME/bin :)
猜你喜欢
  • 1970-01-01
  • 2018-12-16
  • 2015-03-14
  • 2011-02-10
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 2013-03-19
相关资源
最近更新 更多