- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚设置了一个运行 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\Ja
va\jdk1.8.0_221\\bin;C:\maven\bin;C:\maven\bin
但是,在此从站中运行的构建作业总是提示:
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
知道是什么原因造成的吗?
2019 年 9 月 11 日更新
在作业构建配置中,我在 JDK 选项中选择了(系统)。如果我选择 JDK 8 update 221,则此构建作业会成功运行,但我想使用将从该节点中的环境变量获取的(系统)JDK,因此我可以切换到另一个从属节点,而无需更改 JDK 选项。
但是,当我远程到该服务器并打开命令提示符时,转到该项目的工作区文件夹,比方说:C:\jenkins_slave\workspace\project01\,然后键入命令:mvn clean install,它运行没有提示 Jenkins 运行的 jdk 或 jre。
最佳答案
您可以根据适合您的方式使用以下任何方法:
<小时/>方法1)
请按照以下步骤配置您的 Windows 节点,使其指向您要使用的 JDK:
转到管理 Jenkins
> 全局工具配置
> JDK > 添加 JDK
由于您已经安装了 Java,因此取消选中自动安装
框
在Name
部分,只需提供一些有意义的标识符,不一定是JAVA_HOME
。现在,在 JAVA_HOME
文本框中,您可以提供您想要的任何值,因为无论如何您都会为 Windows 节点使用不同的值。
现在转到管理 Jenkins
> 管理节点
>(转到 Windows 节点的配置
部分)> 节点属性
现在启用工具位置
复选框。单击添加
> 从下拉列表中,选择您在全局工具配置
部分中为 JDK 提供的名称
现在您必须提供 Windows 节点的 JAVA_HOME 路径。因此,无论它在哪里,只需在 Home
文本框中提及该路径,如下所示:
方法2)
转到管理 Jenkins
> 管理节点
>(转到 Windows 节点的配置
部分)> 节点属性
现在启用环境变量
> 添加
Name
文本框中,写入Path
(而不是PATH
)Value
文本框中,写入您的JDK安装路径,直到bin
,如下所示。根据您的情况,添加以下内容:C:\Program Files\Java\jdk1.8.0_221\bin;C:\Windows\System32;C:\maven-3.6.1\bin;%PATH%
我没有在 PATH 中设置 Maven,因此我将其添加到 Node 的配置中,如上所示。
注意:在Value
文本框中,使用分号(;)作为分隔符,而不是逗号(,)
作业的 JDK 配置:
作业的命令:
作业的输出:
<小时/>方法3)
在 Windows 节点的配置中,启用环境变量
并添加以下变量以及相关值
名称:java.home
值:C:\Program Files\Java\jdk1.8.0_221\jre
注意:它是java.home
(全部都是小写字母,如下所示)
JAVA_HOME
需要指向 JDK 安装(maven 需要 tools.jar
),但 Maven 实际上 使用 JDK 中的 JRE 来自行运行。
当使用mvn -version
时,Maven使用Java的内部java.home
属性。此属性与 JAVA_HOME 环境设置不同,因此它可能会欺骗您。它实际上是一个动态属性,显示哪个 JRE 正在运行您的代码。
关于java - Jenkins Windows Slave : No compiler is provided in this environment. 也许您正在 JRE 而不是 JDK 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787000/
我正在尝试运行 servlet,因此我想知道要下载哪一个客户端 JRE 或服务器 JRE,因为 Oracle 网站上有两个可用的 JRE?我安装了 JDK 7。 最佳答案 服务器和客户端虚拟机之间的主
我无法理解 Java JRE 的一些基础知识。 我需要在嵌入式系统中运行 Java 代码,为此我需要在 Linux 内核中安装一个最小的 Java 运行时环境,也就是说,执行 Java 二进制文件所需
我正在编写 Java 小程序,想知道将其包含在网页中的最佳方式。 我希望它能提示用户安装 JRE(如果她还没有的话)。此功能应该(理想情况下)在运行 Java 的任何操作系统上跨浏览器工作。另一个要求
我希望使用 JRE 版本 1.6.0_14 加载我的小程序。我已经安装了更新 14、17、24 和 35。我正在使用 标记为 classid加载带有更新 14 的版本。 在这种情况下,小程序会加载更新
我正在配置构建路径,以便我的 Eclipse 项目之一使用与工作区默认值不同的 JRE。在 JRE System Library 窗口中,我看到了 3 个选项... 我知道我不想使用默认工作区,但执行
小程序在浏览器的 JRE 中运行。这是否意味着您不必在计算机上安装 JRE 即可运行小程序? 最佳答案 “浏览器的 JVM”是您安装在计算机上的 JRE。浏览器通常不会自带,它们只会使用您已经安装在系
JDK 中包含的 JRE(位于 jre 文件夹内)和独立的 JRE 有什么区别?有吗? 最佳答案 “独立 JRE”(有时也称为“公共(public) JRE”)通常不包含 HotSpot 的服务器版本
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 a specific programming problem, a software a
我进入 Eclipse 的首选项,将默认 JRE 更改为 Java SE 8,并将 Eclipse 的编译器设置更改为 1.8 JDK 合规性。我什至删除了其他 JRE。 但是,当我导入项目时,正如您
最近我将我的 Linux 机器中的 JRE 从 1.7 + JIT 升级到没有 JIT 的 1.8,并注意到性能大幅下降,即时编译 JVM 是否比带解释器的 JVM 快得多?谢谢, 最佳答案 JIT
我开发了一个 e4 应用程序,可以在 mac os x 和 windows 中运行 我正在使用 mac os x jre 中存在的一些类,但 Windows jre 中缺少它们 当我们从 window
我有一个项目 1 需要在 1.7 上运行,该项目依赖于另一个在 1.8 上构建的项目 2。 我试图在项目 1 内调用项目 2 中的类,但出现一个已知错误,该错误已在 1.8 中修复。如果我在 JRE
我正在编写一个 Java Swing 应用程序。我从 Oracle 网站下载了适用于 Linux 平台的 JRE,并将这个 JRE 捆绑到了我的应用程序中。 我已经给出了一个启动器脚本,其中我引用了捆
我正在通过 java 1.6 u_17 进行编程,但我安装了 JRE 版本 6 和 JRE 版本 7,那么如何从 JDK 1.6 运行我编译的程序以仅通过 JRE 6 运行? 默认情况下,它通过 JR
这个问题在这里已经有了答案: how to check jre version using java application (6 个答案) 关闭 7 年前。 我安装了多个 JRE(6、7、8,32
我已经在我的机器上安装了 Java 8 并用它启动了一个项目。但是,当我使用 @Override 注释时,代码带有红色下划线,并且出现错误 Syntax error, annotations are
我(作为一个非 Java 的人)对我的本地 JRE 10 安装需要更新感到困惑,但是在更新时,我得到了 JRE 8!这甚至在 https://java.com/en/download/more_inf
私有(private) jre 和公共(public) jre 有什么区别?有没有关于这个主题的官方论文? 我没有找到关于这个主题的任何问题。我也无法在周围找到令人满意的东西。 最佳答案 A JRE
Java JRE 混合代码安全性,从 JRE 1.6.0_19 及更高版本开始最初在 2010 年左右,使用 JDK/JRE 1.6.0_12 实现、构建和部署了一个主 jar Java Applet
我需要 JRE 来使用仅提供英文版本的 JRE 资源的翻译版本。 根据 ResourceBundle.java 文档,这很简单:添加具有正确语言环境后缀的本地化资源。例如,标准 XMLSchemaMe
我是一名优秀的程序员,十分优秀!