Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-43495

Debian packages depend on Java 7 even though Jenkins requires Java 8

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • packaging
    • None

      Jenkins 2.54 started requiring Java 8 [1], but the 2.54 package in the Jenkins-provided Debian package repository [2] still depends on openjdk-7-jre-headless. This means that on distros that do not provide Java 8 the package will successfully update but fail to start.

      [1] https://jenkins.io/blog/2017/04/10/jenkins-has-upgraded-to-java-8/
      [2] https://pkg.jenkins.io/debian

        1. jenkins.err.log
          5.18 MB
          Dave Miller
        2. jenkins.wrapper.log
          160 kB
          Dave Miller

          [JENKINS-43495] Debian packages depend on Java 7 even though Jenkins requires Java 8

          Marcus Karlsson created issue -
          Baptiste Mathus made changes -
          Summary Original: Debian packages depend on Java 7 even though Jenkins require Java 8 New: Debian packages depend on Java 7 even though Jenkins requires Java 8
          Baptiste Mathus made changes -
          Description Original: Jenskins 2.54 started requiring Java 8 [1], but the 2.54 package in the Jenkins-provided Debian package repository [2] still depends on openjdk-7-jre-headless. This means that on distros that does not provide Java 8 the package will successfully update but fail to start.

          [1] https://jenkins.io/blog/2017/04/10/jenkins-has-upgraded-to-java-8/
          [2] https://pkg.jenkins.io/debian
          New: Jenkins 2.54 started requiring Java 8 [1], but the 2.54 package in the Jenkins-provided Debian package repository [2] still depends on openjdk-7-jre-headless. This means that on distros that do not provide Java 8 the package will successfully update but fail to start.

          [1] https://jenkins.io/blog/2017/04/10/jenkins-has-upgraded-to-java-8/
          [2] https://pkg.jenkins.io/debian
          Baptiste Mathus made changes -
          Assignee New: Baptiste Mathus [ batmat ]
          Oleg Nenashev made changes -
          Component/s New: packaging [ 20120 ]
          Oleg Nenashev made changes -
          Component/s Original: core [ 15593 ]
          Oleg Nenashev made changes -
          Epic Link New: JENKINS-43500 [ 180815 ]

          nervo nervo added a comment -

          Fyi, i have succeed in running jenkins 2.54 on debian jessie by using openjdk-8-jre-headless from backports, and update-alternatives to config java 8.

          But this is clearly not a clean situation

          nervo nervo added a comment - Fyi, i have succeed in running jenkins 2.54 on debian jessie by using openjdk-8-jre-headless from backports, and update-alternatives to config java 8. But this is clearly not a clean situation

          Sascha Szott added a comment - - edited

          In case you are trying to start Jenkins 2.54 with OpenJDK 7 the Jetty servlet container is complaining about an java.lang.UnsupportedClassVersionError

          WARNING: Failed startup of context w.@6cedb374{/,file:/var/cache/jenkins/war/,STARTING}{/var/cache/jenkins/war}
          java.lang.reflect.InvocationTargetException
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:606)
                  at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)
                  at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)
                  at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:408)
                  at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1340)
                  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
                  at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
                  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
                  at org.eclipse.jetty.server.Server.start(Server.java:387)
                  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
                  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
                  at org.eclipse.jetty.server.Server.doStart(Server.java:354)
                  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                  at winstone.Launcher.<init>(Launcher.java:152)
                  at winstone.Launcher.main(Launcher.java:352)
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:606)
                  at Main._main(Main.java:264)
                  at Main.main(Main.java:112)
          Caused by: java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version 52.0
                  at java.lang.ClassLoader.defineClass1(Native Method)
                  at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
                  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
                  at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
                  at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
                  at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
                  at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
                  at java.security.AccessController.doPrivileged(Native Method)
                  at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
                  at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
                  at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
                  at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
                  at org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1583)
                  at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1956)
                  ... 25 more
          

           

          Sascha Szott added a comment - - edited In case you are trying to start Jenkins 2.54 with OpenJDK 7 the Jetty servlet container is complaining about an  java.lang.UnsupportedClassVersionError WARNING: Failed startup of context w.@6cedb374{/,file:/var/cache/jenkins/war/,STARTING}{/var/cache/jenkins/war} java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85) at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72) at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:408) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1340) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at winstone.Launcher.<init>(Launcher.java:152) at winstone.Launcher.main(Launcher.java:352) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at Main._main(Main.java:264) at Main.main(Main.java:112) Caused by: java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:803) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:442) at java.net.URLClassLoader.access$100(URLClassLoader.java:64) at java.net.URLClassLoader$1.run(URLClassLoader.java:354) at java.net.URLClassLoader$1.run(URLClassLoader.java:348) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:347) at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403) at org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1583) at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1956) ... 25 more  

          Sascha Szott added a comment - - edited

          the Depends section in the deb package's control file should be updated to

          Depends: daemon, adduser, procps, psmisc, net-tools, default-jre-headless (>= 2:1.8) | java8-runtime-headless
          

          Sascha Szott added a comment - - edited the Depends section in the deb package's control file should be updated to Depends: daemon, adduser, procps, psmisc, net-tools, default-jre-headless (>= 2:1.8) | java8-runtime-headless

            oleg_nenashev Oleg Nenashev
            mkarlsson Marcus Karlsson
            Votes:
            6 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: