有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过Ansible安装Jenkins时发现Java版本不正确

需要您的帮助,当我试图通过Ansible playbook安装Jenkins时,它返回以下问题

Extracting templates from packages: 100%
Found an incorrect Java version
Java version found:
java version "1.7.0_131"
OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)

Aborting
invoke-rc.d: initscript jenkins, action "start" failed.
dpkg: error processing package jenkins (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 jenkins
E: Sub-process /usr/bin/dpkg returned an error code (1)

我真的不知道从哪里开始。谢谢


共 (2) 个答案

  1. # 1 楼答案

    您可以在安装java8时尝试以下方法:

    - name: Ensure the webupd8 launchpad apt repository key is present
      apt_key:
        id: 0xC2518248EEA14886
        keyserver: keyserver.ubuntu.com
        state: present
    
    - name: Add Oracle Java Repository
      apt_repository:
        repo: 'ppa:webupd8team/java'
    
    - name: Accept Java 8 License
      debconf:
        name: 'oracle-java8-installer'
        question: 'shared/accepted-oracle-license-v1-1'
        value: 'true'
        vtype: 'select'
    
    - name: Install Oracle Java 8
      apt:
        name: {{item}}
        state: latest
      with_items:
        - oracle-java8-installer
        - ca-certificates
        - oracle-java8-set-default
    
  2. # 2 楼答案

    Jenkins现在需要Java8,在此之前,您需要在Ansible Playbook中添加一个任务,以确保Java8已经就位

    - name: Install jdk version 8
      package:
        name: openjdk-8-jdk
        state: present
    

    您可能还希望将正确的Java链接设置为操作系统默认值,以防您在几个安装到位的情况下使用以下代码结束

    - name: Select openjdk 8 as system default java
        alternatives:
        name: java
        path: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
    

    如果您是从角色运行此命令,请将其插入到角色定义本身之前的pre-tasks:节中