簡體   English   中英

使用 maven 時在 ubuntu 18.04 上找不到“tools.jar”

[英]Cannot find 'tools.jar' on ubuntu 18.04 when using maven

我嘗試使用 Maven 構建自定義 Jenkins-Plugin。 這是問題:

我的項目依賴於org.kohsuke.args4j ( https://github.com/kohsuke/args4j )。 我在 pom.xml 文件中添加了依賴項。

  <dependencies>
    <dependency>
      <groupId>org.kohsuke.metainf-services</groupId>
      <artifactId>metainf-services</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.args4j</groupId>
      <artifactId>args4j-maven-plugin</artifactId>
      <version>2.33</version>
    </dependency>
  </dependencies>  

問題

顯然,這個項目以某種方式需要tools.jar可執行文件 - 無法找到。

[ERROR] Failed to execute goal on project commit-pipeline-xml: Could not resolve dependencies for project com.siemens.plugins:commit-pipeline-xml:hpi:0.1: Could not find artifact jdk:tools:jar:5.0 at specified path /usr/local/java/jdk-14.0.2/../lib/tools.jar

對於我的安裝(請參見下一段),無論如何路徑都是錯誤的,但我什至無法在/usr/local/java/jdk-14.0.2/lib/tools.jar中找到我期望這個文件的tools.jar ls -l on $JAVA_HOME/lib輸出一些文件(主要是 *.so)但沒有tools.jar find $JAVA_HOME -name "tools"什么也沒暴露。


jdk的安裝

為了構建我的項目,我使用 docker 和 ubuntu 18.04 作為基礎。 通過從oracle.com下載 tar.gz 並使用以下命令安裝 jdk 來安裝:


mkdir -p /usr/local/java
cd /usr/local/java
tar xzvf "$JAVA_JDK_PATH"
ls -l ./jdk-$JAVA_JDK_VERSION/bin
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk-$JAVA_JDK_VERSION/bin/java" 1 
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk-$JAVA_JDK_VERSION/bin/javac" 1
sudo update-alternatives --set javac "/usr/local/java/jdk-$JAVA_JDK_VERSION/bin/javac"
ls -ld /usr/bin/java*
ls -ld /etc/alternatives/java*

$JAVA_JDK_PATH表示下載的 zip 文件的路徑, $JAVA_JDK_VERSION JAVA_JDK_VERSION 表示要下載的 jdk 版本。

注意:我假設安裝工作正常,因為我通常可以構建其他 maven 項目。

如何安裝 jdk 以獲得tools.jar文件?

顯然,根據@Hans 和這篇文章的說法,自從 JDK9 以來,這是不可能的。

關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM