pmv commented on Bug JENKINS-27947

I think these tickets are similar, in that users running builds expect to be able to compile with any JDK. However, the actual criteria seems to be this:

If you are building using the Maven project type, the minimum JDK you can compile with is determined by the maximum of the following:

  1. The java version Jenkins core was compiled with
  2. The java version your container was compiled with (specifically, the servlet-api jar)
  3. The java version the maven-plugin was compiled with

The versions for JENKINS-25272 are 1.6, 1.5, 1.5, so a 1.5 build broke due to be #1 (as I would consider the remoting jar to be part of core)
The versions for JENKINS-16920 were 1.5, 1.6, 1.5, so a 1.5 build broke due to #2.
The versions for this ticket are 1.6, 1.7, 1.5, so 1.6 builds break due to #2.

We haven't actually seen #3, since it seems to be lagging behind the other two, but I suspect it is true.

These restrictions make some sense once you understand that Jenkins plugin classloading is hierarchical (rather than using something like OSGi), so plugin developers probably understand this: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+Structure#PluginStructure-Classloader However, the first time you encounter it as a user it's not intuitive (especially the servlet-api dependency).

If a fix is not going to be made, at minimum I would suggest calling out these restrictions on the Maven project plugin wiki page: https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to