我正在尝试用“ant build”编译我的项目,但是我收到了这个错误:
无法找到tools.jar . 预计在/usr/lib/jvm/java-6-openjdk/lib/tools.jar中找到它
我搜索了 tools.jar
,它只是在 /usr/lib/jdk1.7.0_01/lib/tools.jar
.
创建如下所示的符号链接是个好主意吗?
ln -s /usr/lib/jdk1.7.0_01/lib/tools.jar /usr/lib/jdk1.7.0_01/lib/tools.jar
嗯..实际上我试图创建那个符号链接,但后来我收到了这个错误:
BUILD FAILED /home/me/code/StockWatcher/build.xml:29:java.lang.UnsupportedClassVersionError:com / sun / tools / javac / Main:不支持的major.minor版本51.0
所以我不知道这最后一个错误是因为符号链接...
哈维
3 回答
不创建符号链接不是一个好主意(混合两个JDK)
Ant使用与运行Ant本身相同的Java版本 . 如果你想使用Java 1.7,你应该指示Ant . 来自
javac
任务文档:如果你想使用与Ant相同的Java版本,请确保你正确安装它(并且你安装了JDK而不仅仅是JRE)
您对JVM的引用有所不同 . 创建符号链接形式一个版本到另一个版本它实际上是个坏主意,因为你违反版本兼容性 . 如果您的 Ant 使用了一些属性,就像您说的那样
/usr/lib/jvm/java-6-openjdk/lib/tools.jar
最好找到具有该属性的文件并将其更改为您的真实位置 .您的
JAVA_HOME
环境变量的 Value 是多少?我相信这是Ant在确定JVM所在位置时所关注的内容 .因此,如果将此环境变量设置为
/usr/lib/jdk1.7.0_01
,则可能会解决您的问题 .