即使我有 JAVA 8,也无法安装 Jenkins
Can't Install Jenkins even though I have JAVA 8
Ubuntu 14.04 LTS
根据 ,我需要 JAVA 8,所以我下载了 JDK 和 JRE。不幸的是,当再次尝试安装 jenkins 时
sudo apt-get install jenkins
我仍然收到错误消息
Aborting
invoke-rc.d: initscript jenkins, action "stop" failed.
dpkg: error processing archive /var/cache/apt/archives/jenkins_2.176.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Found an incorrect Java version
Java version found:
java version "1.7.0_201"
OpenJDK Runtime Environment (IcedTea 2.6.17) (7u211-2.6.17-0ubuntu0.1)
OpenJDK 64-Bit Server VM (build 24.201-b00, mixed mode)
检查我的 $PATH 并显示以下内容
/usr/lib/jvm/jre1.8.0_221/bin:/usr/lib/jvm/jdk1.8.0_211/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
应该使用的java是8。
连运行宁
java -version
满足了我的期望
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
如果我安装了 JAVA 8,为什么会出现 java 版本错误?我还需要做些什么来确保 JAVA 8 是默认值?
我尝试失败
sudo apt-get install openjdk-8-jre
得到了
Unable to locate package openjdk-8-jre
旁注,当尝试从侧边栏 运行 eclipse 时,我也收到有关 JAVA 版本的错误。 运行 命令行中的 eclipse 工作正常。
是否必须使用我的 /usr/lib/jvm 文件夹中的默认 java 符号 link?它指向 Java 7 openjdk... 执行 ls -la 显示 links
default-java -> java-1.7.0-openjdk-amd64
java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
java-7-openjdk-amd64
如果可能,请尝试在 docker 容器中 运行 Jenkins。它会处理此类问题。
查看 update-java-alternatives 和 update-alternatives,我遇到了这个 answer
我检查了 java
的当前备选方案
sudo update-alternatives --config java
得到了
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure.
使用我找到的答案之一,我为执行以下命令的 java 可执行文件添加了替代方案
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_221/bin/java 1
然后我再次查看我的备选 java 在列表中可用
sudo update-alternatives --config java
现在给了我
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
* 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
2 /usr/lib/jvm/jre1.8.0_221/bin/java 1 manual mode
Press enter to keep the current choice[*], or type selection number:
然后我输入2,尝试安装,成功了。我现在甚至可以从侧边栏 运行 eclipse,而不必从命令行 运行 它。
我很欣赏 RealSkeptic 的正确方向!
您可以使用以下任一选项:
1) 下载基于 Docker 的 Jenkins 映像并使用以下命令将 Jenkins 启动为容器:
- docker pull jenkins
- docker run -p 8080:8080 -p 50000:50000 -v volume_name:/var/jenkins_home --name jenkins -d jenkins
2) 下载 jenkins.war 文件并使用以下命令提取 war 文件:
java -jar jenkins.war &
Ubuntu 14.04 LTS
根据
sudo apt-get install jenkins
我仍然收到错误消息
Aborting
invoke-rc.d: initscript jenkins, action "stop" failed.
dpkg: error processing archive /var/cache/apt/archives/jenkins_2.176.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Found an incorrect Java version
Java version found:
java version "1.7.0_201"
OpenJDK Runtime Environment (IcedTea 2.6.17) (7u211-2.6.17-0ubuntu0.1)
OpenJDK 64-Bit Server VM (build 24.201-b00, mixed mode)
检查我的 $PATH 并显示以下内容
/usr/lib/jvm/jre1.8.0_221/bin:/usr/lib/jvm/jdk1.8.0_211/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
应该使用的java是8。 连运行宁
java -version
满足了我的期望
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
如果我安装了 JAVA 8,为什么会出现 java 版本错误?我还需要做些什么来确保 JAVA 8 是默认值?
我尝试失败
sudo apt-get install openjdk-8-jre
得到了
Unable to locate package openjdk-8-jre
旁注,当尝试从侧边栏 运行 eclipse 时,我也收到有关 JAVA 版本的错误。 运行 命令行中的 eclipse 工作正常。
是否必须使用我的 /usr/lib/jvm 文件夹中的默认 java 符号 link?它指向 Java 7 openjdk... 执行 ls -la 显示 links
default-java -> java-1.7.0-openjdk-amd64
java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
java-7-openjdk-amd64
如果可能,请尝试在 docker 容器中 运行 Jenkins。它会处理此类问题。
查看 update-java-alternatives 和 update-alternatives,我遇到了这个 answer
我检查了 java
的当前备选方案sudo update-alternatives --config java
得到了
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure.
使用我找到的答案之一,我为执行以下命令的 java 可执行文件添加了替代方案
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_221/bin/java 1
然后我再次查看我的备选 java 在列表中可用
sudo update-alternatives --config java
现在给了我
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
* 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
2 /usr/lib/jvm/jre1.8.0_221/bin/java 1 manual mode
Press enter to keep the current choice[*], or type selection number:
然后我输入2,尝试安装,成功了。我现在甚至可以从侧边栏 运行 eclipse,而不必从命令行 运行 它。
我很欣赏 RealSkeptic 的正确方向!
您可以使用以下任一选项:
1) 下载基于 Docker 的 Jenkins 映像并使用以下命令将 Jenkins 启动为容器:
- docker pull jenkins
- docker run -p 8080:8080 -p 50000:50000 -v volume_name:/var/jenkins_home --name jenkins -d jenkins
2) 下载 jenkins.war 文件并使用以下命令提取 war 文件:
java -jar jenkins.war &