gpt4 book ai didi

java - 在 ivy 中解析 tools.jar

转载 作者:搜寻专家 更新时间:2023-11-01 02:31:13 26 4
gpt4 key购买 nike

我有一个项目使用 ivy 来管理其依赖项。我正在为项目实现一项功能,要求我包含 tools.jar。然而,因为 tools.jar 是平台相关的,我正在尝试使用 ivy 来解析 Artifact 的本地文件。我正在做以下事情:

<dependency org="com.sun" names="tools" rev="1.6.0">
<artifact name="tools" type="jar" url="file:///${java.home}/../lib/tools.jar"/>
</dependency>

应该从本地 ${java.home}/../lib/tools.jar 检索文件。 (注意:java.home 指向 JRE 安装)。

但是,在解析位置时存在问题。在我的 Windows 机器上,它似乎认为“c”是协议(protocol)(c 来自 ${java.home}。我确信我的 url 定义正确,因为“file:///C:/foo”是指定文件 URL 的正确方法(3 个斜杠)。我看到的问题是它去掉了 2 个斜杠并尝试使用“file:/C:...”而不是“file:///C:”。 ”正如我在上面指定的那样。我还尝试直接指定文件的路径而不是 ${java.home}

我想通过 Ivy 检索这种方法,但我无法让它发挥作用。有什么想法吗?

最佳答案

JAVA_HOME 需要指向 JDK 的位置,而不是 JRE。更改此设置后,ANT 将停止提示缺少工具 jar。

看你上面提供的路径,我怀疑你已经安装了JDK....

分析

在我的系统上,工具 jar 位于此处:

$ find $JAVA_HOME -name tools.jar
/usr/lib/jvm/java-6-openjdk/lib/tools.jar

奇怪且令人困惑的是,Java JDK 内部附带了一个 JRE

$ find $JAVA_HOME -name java
/usr/lib/jvm/java-6-openjdk/bin/java
/usr/lib/jvm/java-6-openjdk/jre/bin/java

关于java - 在 ivy 中解析 tools.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8813271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com