【问题标题】:Apache Ant 1.8 on CentOSCentOS 上的 Apache Ant 1.8
【发布时间】:2013-03-19 21:25:34
【问题描述】:

我正在尝试让 apache ant 1.8 在 CentOS 下工作。首先,我有这个错误。

Error: Could not find or load main class org.apache.tools.ant.launch.Launcher

然后我根据这个链接设置以下变量:

Ant: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher

不是CentOS,但我确实验证了路径除了JAVA_HOME之外存在,所以我根据这个站点设置它:

https://serverfault.com/questions/50883/what-is-the-value-of-java-home-for-centos

现在我遇到了与第一次相同的错误。不管我使用哪个 ant 规则,我仍然会遇到同样的错误。

[alpha:~]
[bullshark]% export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/
[alpha:~]
[bullshark]% export ANT_HOME=/usr/share/ant/
[alpha:~]
[bullshark]% export PATH=$PATH:$ANT_HOME/bin
[alpha:~]
[bullshark]% cd JRobo 
[alpha:JRobo] on master
[bullshark]% ant clean-and-fat-jar 
Picked up _JAVA_OPTIONS: -Xmx64m
Error: Could not find or load main class org.apache.tools.ant.launch.Launcher
[alpha:JRobo] on master
[bullshark]% cat /etc/redhat-release 
CentOS release 6.3 (Final)
[alpha:JRobo] on master
[bullshark]% 

如果你想尝试,你可以在 CentOS 上克隆他:

https://github.com/BullShark/JRobo

对于 CentOS 上的 Apache Ant 1.8:

http://www.jpackage.org/browser/rpm.php?jppversion=6.0&id=11867

对于包或手动:

https://ant.apache.org/bindownload.cgi?Preferred=ftp://apache.mirrors.pair.com/

【问题讨论】:

  • “哪只蚂蚁”返回什么?
  • 我在使用包管理器让 ANT 正常工作时遇到问题。不同的 jar 被拆分成不同的 RPM 包...我发现下载 ANT 二进制版本并将其安装在“/opt”目录下要简单得多。
  • % which ant /usr/bin/ant
  • 我从 CentOS 6.3 切换到 Fedora 17,现在我拥有了所有最新的 java 包。我现在从 rpm 包运行 apache tomcat 1.7 和 ant 1.8 没有问题。

标签: java ant build centos env


【解决方案1】:

以下是在 CentOS 上安装 ant 1.8 所需的步骤:

  1. 下载http://archive.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.tar.gz
  2. 将 tarball 复制到您的 CentOS 主文件夹(如果还没有的话)
  3. tar xvzf apache-ant-1.8.4-bin.tar.gz
  4. sudo mv apache-ant-1.8.4 /opt/ant
  5. 设置 ANT_HOME=/opt/ant
  6. 将“export ANT_HOME=/opt/ant”添加到/etc/profile

要验证它是否有效,请运行:

ant -version

【讨论】:

  • 谢谢 - 效果很好。 /etc/profile 真的是放出口的地方吗?该文件中的 cmets 表明 /etc/profile.d/custom.sh 可能更好(更容易升级包)
  • 您忘记添加export PATH="$ANT_HOME/bin:$PATH"了吗?因为否则你将无法在不声明ant二进制的绝对路径的情况下运行ant。
  • 在 /etc/profile.d 中添加“ant.sh”适用于 CentOS 版本 6.6(最终版)如果已经存在 ant 版本,则无需添加到您的路径(在我的情况下至少是 1.7.1)因为脚本使用 ANT_HOME 来查找要运行的 jar。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
相关资源
最近更新 更多