• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wsds
V2EX  ›  程序员

jenkins 这货启动不起来,怎么搞

  •  
  •   wsds · May 12, 2018 · 6844 views
    This topic created in 2926 days ago, the information mentioned may be changed or developed.

    启动的时候,提示存在不正确的 java1.7 版本,但我的版本是 1.8 啊,什么鬼,启动不起来

    root@root-59:~$ ps -ef|grep jenkins
    
    root 25034  1931  0 11:26 pts/17   00:00:00 grep --color=auto jenkins
    
    root@root-59:~$ sudo service jenkins start
    [sudo] password for root: 
    
    Found an incorrect Java version
    Java version found:
    java version "1.7.0_171"
    OpenJDK Runtime Environment (IcedTea 2.6.13) (7u171-2.6.13-0ubuntu0.14.04.2)
    OpenJDK 64-Bit Server VM (build 24.171-b02, mixed mode)
    
    Aborting
    
    root@root-59:~$ java -version
    
    java version "1.8.0_66"
    Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
    root@root-59:~$ 
    
    
    
    Supplement 1  ·  May 12, 2018

    find出来一个1。7版本的jdk,但我默认的还是1。8啊

    2v38k6.png

    2v3AHT.png

    Supplement 2  ·  May 15, 2018

    jenkins日志:

    23ICz0.png

    31 replies    2020-12-04 16:41:09 +08:00
    UndefinedDiary
        1
    UndefinedDiary  
       May 12, 2018 via Android
    Jenkins 什么版本的??去官网看看依赖的 jdk 需要那个版本。。。
    wsds
        2
    wsds  
    OP
       May 12, 2018
    @UndefinedDiary 前 2 天还运行的好好的,不知道怎么停了,然后就启动不了了,应该不是版本问题吧
    defunct9
        3
    defunct9  
       May 12, 2018 via iPhone
    开 ssh,让我上去看看
    wsds
        4
    wsds  
    OP
       May 12, 2018
    @defunct9 内网啊
    UndefinedDiary
        5
    UndefinedDiary  
       May 12, 2018 via Android
    @wsds 有多个 jdk ?!
    ming2050
        6
    ming2050  
       May 12, 2018 via iPhone
    因为你用 sudo 了 搜下 sudo 环境变量 了解一下
    wanghanlin
        7
    wanghanlin  
       May 12, 2018
    用 docker 的,省力
    wsds
        8
    wsds  
    OP
       May 12, 2018
    @UndefinedDiary 目测至少有 2 个
    wsds
        9
    wsds  
    OP
       May 12, 2018
    @mringg 用不用 sudo 都一样
    qinxi
        10
    qinxi  
       May 12, 2018 via Android
    卸载 openjdk,结帖
    privatezcoding
        11
    privatezcoding  
       May 12, 2018
    设置一下 Java 的环境变量试试看
    carlclone
        12
    carlclone  
       May 12, 2018 via Android
    关机睡觉,结贴
    zqcolor
        13
    zqcolor  
       May 12, 2018
    试试下面几个命令选择 java 8

    https://askubuntu.com/questions/315646/update-java-alternatives-vs-update-alternatives-config-java

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javadoc
    wsds
        14
    wsds  
    OP
       May 12, 2018
    @zqcolor 没用啊

    root@root-59:~$ sudo update-alternatives --config java
    [sudo] password for root:

    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.

    root@root-59:~$ sudo update-alternatives --config javac
    update-alternatives: error: no alternatives for javac

    root@root-59:~$ sudo update-alternatives --config javadoc
    update-alternatives: error: no alternatives for javadoc
    shynome
        15
    shynome  
       May 12, 2018 via Android
    如果只做 ci/cd , 可以试试 drone.io
    qkline
        16
    qkline  
       May 12, 2018
    明显是 openjdk 搞的鬼,卸载就行了
    sutra
        17
    sutra  
       May 12, 2018
    root@jenkins:~ # grep java_home /usr/local/etc/rc.d/jenkins
    # jenkins_java_home (str):
    : ${jenkins_java_home="/usr/local/openjdk8"}
    java_cmd="${jenkins_java_home}/bin/java"
    defunct9
        18
    defunct9  
       May 12, 2018 via iPhone
    @wsds 开不了 ssh,我也没办法。明显 jenkins 的 java 和你起的不是一个。
    vjnjc
        19
    vjnjc  
       May 12, 2018 via Android
    Jenkins 的用户和你不是同一个,所以你们的环境也不一样,所以他用 Java7,你用 Java8
    kaneg
        20
    kaneg  
       May 12, 2018 via iPhone
    因为系统环境的千差万别,这种 Java 多版本引起的问题很常见,所以用 docker 这种专门解决环境差异的方案是终极解决之道
    zhantss
        21
    zhantss  
       May 12, 2018
    安装版的 jenkins,默认是创建了一个 jenkins 用户,改这个用户的配置就行
    防止发生意外可以改 /etc/default/jenkins 里面的设置,不一定是这个位置,你可以查一下对应软件包的配置文件位置
    tedzhou1221
        22
    tedzhou1221  
       May 13, 2018 via Android
    Docker Jenkins 更方便,哈哈
    zqcolor
        23
    zqcolor  
       May 13, 2018
    那就卸载这个 openjdk7
    /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

    然后安装 jdk 8 试试
    wsds
        24
    wsds  
    OP
       May 14, 2018
    @zhantss 有这个文件,要改什么内容啊

    # defaults for Jenkins automation server

    # pulled in from the init script; makes things easier.
    NAME=jenkins

    # arguments to pass to java

    # Allow graphs etc. to work even when an X server is present
    JAVA_ARGS="-Djava.awt.headless=true"

    #JAVA_ARGS="-Xmx256m"

    # make jenkins listen on IPv4 address
    #JAVA_ARGS="-Djava.net.preferIPv4Stack=true"

    PIDFILE=/var/run/$NAME/$NAME.pid

    # user and group to be invoked as (default to jenkins)
    JENKINS_USER=$NAME
    JENKINS_GROUP=$NAME

    # location of the jenkins war file
    JENKINS_WAR=/usr/share/$NAME/$NAME.war

    # jenkins home location
    JENKINS_HOME=/var/lib/$NAME

    # set this to false if you don't want Jenkins to run by itself
    # in this set up, you are expected to provide a servlet container
    # to host jenkins.
    RUN_STANDALONE=true

    # log location. this may be a syslog facility.priority
    JENKINS_LOG=/var/log/$NAME/$NAME.log
    #JENKINS_LOG=daemon.info

    # Whether to enable web access logging or not.
    # Set to "yes" to enable logging to /var/log/$NAME/access_log
    JENKINS_ENABLE_ACCESS_LOG="no"

    # OS LIMITS SETUP
    # comment this out to observe /etc/security/limits.conf
    # this is on by default because http://github.com/jenkinsci/jenkins/commit/2fb288474e980d0e7ff9c4a3b768874835a3e92e
    # reported that Ubuntu's PAM configuration doesn't include pam_limits.so, and as a result the # of file
    wsds
        25
    wsds  
    OP
       May 14, 2018
    @zqcolor 公用环境,不能乱卸载组件啊
    wsds
        26
    wsds  
    OP
       May 15, 2018
    zqcolor
        27
    zqcolor  
       May 15, 2018
    网上查的,可以试试看

    https://stackoverflow.com/questions/49367311/start-jenkins-with-jdk-8-without-changing-system-java-home


    Set JENKINS_JAVA option in /etc/sysconfig/jenkins file.

    The variable name might be different depending on your operating system and package source but the /etc/sysconfig/jenkins file is usually the configuration file for your jenkins service.
    wsds
        28
    wsds  
    OP
       May 28, 2018
    还是不行啊
    RX03
        29
    RX03  
       Jan 14, 2020
    两年了。。。
    我自己这样暴力设置可以起来
    1. cd /etc/init.d 2. sudo vim jenkins 3. 注释掉 PATH 部分,因为之前编译多个版本的 AOSP,java 环境乱的压批,在 /etc/profile 里 export 了,在这里直接加上 source /etc/profile
    ubuntu@linux:/etc/init.d$ ./jenkins -> Correct java version found
    最后,docker 大法好
    TreePu
        30
    TreePu  
       Dec 4, 2020
    1,安装 jdk1.8
    TreePu
        31
    TreePu  
       Dec 4, 2020
    1,安装 JDK1.8:sudo apt-get install openjdk-8-jdk
    2,切换 JDK 版本:sudo update-alternatives --config java 输入数字,Enter
    3,修改 Jenkins 配置文件的 PATH 为 1.8 的路径
    sudo vi /etc/init.d/jenkins
    ## PATH=/bin:/usr/bin:/sbin:/usr/sbin 旧的
    PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/java 新的
    4,重启 Jenkins,成功

    今天遇到了,把解决过程分享一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 19:52 · PVG 03:52 · LAX 12:52 · JFK 15:52
    ♥ Do have faith in what you're doing.