亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

此環境中不提供編譯器。也許您正在 JRE 而不是 JDK 上運行

此環境中不提供編譯器。也許您正在 JRE 而不是 JDK 上運行

慕森卡 2023-07-13 13:43:05
我剛剛設置了一個運行 Windows Server 2012 的新 jenkins 從機。我已經安裝了 jdk-8u221-windows-x64 并設置了 Java_home,路徑如下C:\Users\Administrator>echo %JAVA_HOME%C:\Program Files\Java\jdk1.8.0_221\C:\Users\Administrator>echo %PATH%C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk1.8.0_221\\bin;C:\maven\bin;C:\maven\bin然而,在這個從站中運行的構建作業總是抱怨:此環境中不提供編譯器。也許您正在 JRE 而不是 JDK 上運行知道是什么原因造成的嗎?2019 年 9 月 11 日更新我將從節點配置為Technext建議的方法2在作業構建配置中,我在 JDK 選項中選擇了(系統)。如果我選擇 JDK 8 update 221,則此構建作業會成功運行,但我想使用將從該節點中的環境變量獲取的(系統)JDK,因此我可以切換到另一個從屬節點,而無需更改 JDK 選項。 但是,當我遠程到該服務器并打開命令提示符時,轉到該項目的工作區文件夾,比方說:C:\jenkins_slave\workspace\project01\,然后鍵入命令:mvn clean install,它運行時不會抱怨jdk 或 jre 從 Jenkins 運行。
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

您可以根據適合您的情況使用以下任何一種方法:


方法1

請按照以下步驟配置您的 Windows 節點,使其指向您要使用的 JDK:

  1. 轉到Manage Jenkins>>?Global Tool ConfigurationJDK>Add JDK

    由于您已經安裝了 Java,因此取消選中該框Install automatically

    Name部分中,只需提供一些有意義的標識符,不一定JAVA_HOME。現在,您可以在JAVA_HOME文本框中提供任何您想要的值,因為無論如何您都會為 Windows 節點使用不同的值。

http://img4.sycdn.imooc.com/64af8f3a00017f2813190381.jpg

  1. 現在轉到Manage Jenkins>>?Manage Nodes(轉到ConfigureWindows 節點的部分)>Node Properties

    現在啟用顯示 的復選框Tool Locations。單擊Add> 從下拉列表中選擇您在Global Tool Configuration部分中提供給 JDK 的名稱

    現在,您必須在此處提供 Windows 節點的 JAVA_HOME 路徑。因此,無論它在哪里,只需在文本框中提及該路徑,Home如下所示:

http://img1.sycdn.imooc.com/64af8f470001f75c13060516.jpg

方法2

轉至Manage Jenkins>>?Manage Nodes(轉至ConfigureWindows 節點的部分)>Node Properties

Environment variables現在啟用顯示>的復選框Add

  • Name文本框中寫入Path(不是PATH

  • Value文本框中寫入您的JDK安裝路徑,直到bin如下所示。

http://img3.sycdn.imooc.com/64af8f560001f56206520247.jpg

根據您的情況,添加以下內容:C:\Program Files\Java\jdk1.8.0_221\bin;C:\Windows\System32;C:\maven-3.6.1\bin;%PATH%

我沒有在 PATH 中設置 Maven,因此我將其添加到 Node 的配置中,如上所示。

注意:在Value文本框中,使用分號(;)作為分隔符,而不是逗號(,)

作業的 JDK 配置

http://img1.sycdn.imooc.com/64af8f6000013ea803560199.jpg

喬布斯的命令

http://img2.sycdn.imooc.com/64af8f6e00012a6904000355.jpg

作業的輸出

http://img2.sycdn.imooc.com/64af8f7d0001667506510206.jpg

方法3?)

在 Windows 節點的配置中,啟用Environment variables并添加以下變量及相關

姓名:?java.home

價值:C:\Program Files\Java\jdk1.8.0_221\jre

:是java.home(均為小寫字母,如下圖)

http://img1.sycdn.imooc.com/64af8f8900017db106530206.jpg

JAVA_HOME需要指向 JDK 安裝(maven 需要 ),tools.jar但 Maven實際上使用 JDK 中的 JRE 來運行自身。

當使用 時mvn -version,Maven 使用 Java 的內部java.home屬性。此屬性與環境設置不同,JAVA_HOME因此它可能會欺騙您。它實際上是一個動態屬性,顯示哪個 JRE 正在運行您的代碼。


查看完整回答
反對 回復 2023-07-13
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號