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

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

  •  
  •   wsds · May 12, 2018 · 7359 views
    This topic created in 3098 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
    UndefinedDiary
    May 12, 2018 via Android
    1
    Jenkins 什么版本的??去官网看看依赖的 jdk 需要那个版本。。。
    wsds
    wsds
    OP
    May 12, 2018
    2
    @UndefinedDiary 前 2 天还运行的好好的,不知道怎么停了,然后就启动不了了,应该不是版本问题吧
    defunct9
    defunct9
    May 12, 2018 via iPhone
    3
    开 ssh,让我上去看看
    wsds
    wsds
    OP
    May 12, 2018
    4
    @defunct9 内网啊
    UndefinedDiary
    UndefinedDiary
    May 12, 2018 via Android
    5
    @wsds 有多个 jdk ?!
    ming2050
    ming2050
    May 12, 2018 via iPhone
    6
    因为你用 sudo 了 搜下 sudo 环境变量 了解一下
    wanghanlin
    wanghanlin
    May 12, 2018
    7
    用 docker 的,省力
    wsds
    wsds
    OP
    May 12, 2018
    8
    @UndefinedDiary 目测至少有 2 个
    wsds
    wsds
    OP
    May 12, 2018
    9
    @mringg 用不用 sudo 都一样
    qinxi
    qinxi
    May 12, 2018 via Android
    10
    卸载 openjdk,结帖
    privatezcoding
    privatezcoding
    May 12, 2018
    11
    设置一下 Java 的环境变量试试看
    carlclone
    carlclone
    May 12, 2018 via Android
    12
    关机睡觉,结贴
    zqcolor
    zqcolor
    May 12, 2018
    13
    试试下面几个命令选择 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
    wsds
    OP
    May 12, 2018
    14
    @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
    shynome
    May 12, 2018 via Android
    15
    如果只做 ci/cd , 可以试试 drone.io
    qkline
    qkline
    May 12, 2018
    16
    明显是 openjdk 搞的鬼,卸载就行了
    sutra
    sutra
    May 12, 2018
    17
    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
    defunct9
    May 12, 2018 via iPhone
    18
    @wsds 开不了 ssh,我也没办法。明显 jenkins 的 java 和你起的不是一个。
    vjnjc
    vjnjc
    May 12, 2018 via Android
    19
    Jenkins 的用户和你不是同一个,所以你们的环境也不一样,所以他用 Java7,你用 Java8
    kaneg
    kaneg
    May 12, 2018 via iPhone
    20
    因为系统环境的千差万别,这种 Java 多版本引起的问题很常见,所以用 docker 这种专门解决环境差异的方案是终极解决之道
    zhantss
    zhantss
    May 12, 2018
    21
    安装版的 jenkins,默认是创建了一个 jenkins 用户,改这个用户的配置就行
    防止发生意外可以改 /etc/default/jenkins 里面的设置,不一定是这个位置,你可以查一下对应软件包的配置文件位置
    tedzhou1221
    tedzhou1221
    May 13, 2018 via Android
    22
    Docker Jenkins 更方便,哈哈
    zqcolor
    zqcolor
    May 13, 2018
    23
    那就卸载这个 openjdk7
    /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

    然后安装 jdk 8 试试
    wsds
    wsds
    OP
    May 14, 2018
    24
    @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
    wsds
    OP
    May 14, 2018
    25
    @zqcolor 公用环境,不能乱卸载组件啊
    zqcolor
    zqcolor
    May 15, 2018
    27
    网上查的,可以试试看

    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
    wsds
    OP
    May 28, 2018
    28
    还是不行啊
    RX03
    RX03
    Jan 14, 2020
    29
    两年了。。。
    我自己这样暴力设置可以起来
    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
    TreePu
    Dec 4, 2020
    30
    1,安装 jdk1.8
    TreePu
    TreePu
    Dec 4, 2020
    31
    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   ·   Privacy   ·   Solana   ·   4339 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 05:42 · PVG 13:42 · LAX 21:42 · JFK 00:42
    ♥ Do have faith in what you're doing.