Hi folks,

Just wondering if someone can point me to any documentation about one of
the following things:

1) Is there a high level direction among apache projects and particularly
apache maven plugin projects to no longer build using the version 1.7 JDK?
I'm seeing similar changes to move away from Java 7 as I poke through some
projects like Surefire and maven-javadoc-plugin's latest builds/releases.
This is creating some chaos for my company, where we typically use the
maven-release plugin via the command-line, but rarely specify versions of
the plugins it is dependent upon in our pom.xml files (allowing maven to do
its normal process of using the latest+greatest release version(s)). I
presume other developers that still have code building with JDK 1.7 will be
in the same boat where their builds start failing with errors like the one
below.

[INFO] [INFO]
[INFO] [INFO] >>> maven-source-plugin:3.2.1:jar (attach-sources) >
generate-sources @ xxxxxxx >>>
[INFO] [INFO]
[INFO] [INFO] <<< maven-source-plugin:3.2.1:jar (attach-sources) <
generate-sources @ xxxxxxx <<<
[INFO] [INFO]
[INFO] [INFO]
[INFO] [INFO] --- maven-source-plugin:3.2.1:jar (attach-sources) @ xxxxxxx ---
[INFO] [INFO]
[INFO] [INFO] --- maven-javadoc-plugin:3.3.0:jar (attach-javadocs) @ xxxxxxx ---
[INFO] [WARNING] Error injecting: org.apache.maven.plugins.javadoc.JavadocJar
[INFO] java.lang.TypeNotPresentException: Type
org.apache.maven.plugins.javadoc.JavadocJar not present
[INFO]     at org.eclipse.sisu.space.URLClassSpace.loadClass
(URLClassSpace.java:147)
[INFO]     at org.eclipse.sisu.space.NamedClass.load (NamedClass.java:46)
[INFO]     at org.eclipse.sisu.space.AbstractDeferredClass.get
(AbstractDeferredClass.java:48)
[INFO]     at com.google.inject.internal.ProviderInternalFactory.provision
(ProviderInternalFactory.java:81)
[INFO]     at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision
(InternalFactoryToInitializableAdapter.java:53)
[INFO]     at com.google.inject.internal.ProviderInternalFactory$1.call
(ProviderInternalFactory.java:65)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision
(ProvisionListenerStackCallback.java:115)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision
(ProvisionListenerStackCallback.java:133)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback.provision
(ProvisionListenerStackCallback.java:68)
[INFO]     at com.google.inject.internal.ProviderInternalFactory.circularGet
(ProviderInternalFactory.java:63)
[INFO]     at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.get
(InternalFactoryToInitializableAdapter.java:45)
[INFO]     at com.google.inject.internal.InjectorImpl$2$1.call
(InjectorImpl.java:1016)
[INFO]     at com.google.inject.internal.InjectorImpl.callInContext
(InjectorImpl.java:1092)
[INFO]     at com.google.inject.internal.InjectorImpl$2.get
(InjectorImpl.java:1012)
[INFO]     at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)
[INFO]     at org.eclipse.sisu.inject.LazyBeanEntry.getValue
(LazyBeanEntry.java:81)
[INFO]     at org.eclipse.sisu.plexus.LazyPlexusBean.getValue
(LazyPlexusBean.java:51)
[INFO]     at org.codehaus.plexus.DefaultPlexusContainer.lookup
(DefaultPlexusContainer.java:263)
[INFO]     at org.codehaus.plexus.DefaultPlexusContainer.lookup
(DefaultPlexusContainer.java:255)
[INFO]     at 
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo
(DefaultMavenPluginManager.java:519)
[INFO]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:124)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)
[INFO]     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
[INFO]     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
[INFO]     at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
[INFO]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
[INFO]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
[INFO]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
[INFO]     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
[INFO]     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
[INFO]     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
[INFO]     at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
[INFO]     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
[INFO]     at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:57)
[INFO]     at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
[INFO]     at java.lang.reflect.Method.invoke (Method.java:606)
[INFO]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
[INFO]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
[INFO]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
[INFO]     at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
[INFO] Caused by: java.lang.UnsupportedClassVersionError:
org/apache/maven/plugins/javadoc/JavadocJar : Unsupported major.minor
version 52.0
[INFO]     at java.lang.ClassLoader.defineClass1 (Native Method)
[INFO]     at java.lang.ClassLoader.defineClass (ClassLoader.java:800)
[INFO]     at java.security.SecureClassLoader.defineClass
(SecureClassLoader.java:142)
[INFO]     at java.net.URLClassLoader.defineClass (URLClassLoader.java:449)
[INFO]     at java.net.URLClassLoader.access$100 (URLClassLoader.java:71)
[INFO]     at java.net.URLClassLoader$1.run (URLClassLoader.java:361)
[INFO]     at java.net.URLClassLoader$1.run (URLClassLoader.java:355)
[INFO]     at java.security.AccessController.doPrivileged (Native Method)
[INFO]     at java.net.URLClassLoader.findClass (URLClassLoader.java:354)
[INFO]     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf
(ClassRealm.java:401)
[INFO]     at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass
(SelfFirstStrategy.java:42)
[INFO]     at 
org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass
(ClassRealm.java:271)
[INFO]     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
(ClassRealm.java:247)
[INFO]     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
(ClassRealm.java:239)
[INFO]     at org.eclipse.sisu.space.URLClassSpace.loadClass
(URLClassSpace.java:139)
[INFO]     at org.eclipse.sisu.space.NamedClass.load (NamedClass.java:46)
[INFO]     at org.eclipse.sisu.space.AbstractDeferredClass.get
(AbstractDeferredClass.java:48)
[INFO]     at com.google.inject.internal.ProviderInternalFactory.provision
(ProviderInternalFactory.java:81)
[INFO]     at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision
(InternalFactoryToInitializableAdapter.java:53)
[INFO]     at com.google.inject.internal.ProviderInternalFactory$1.call
(ProviderInternalFactory.java:65)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision
(ProvisionListenerStackCallback.java:115)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision
(ProvisionListenerStackCallback.java:133)
[INFO]     at 
com.google.inject.internal.ProvisionListenerStackCallback.provision
(ProvisionListenerStackCallback.java:68)
[INFO]     at com.google.inject.internal.ProviderInternalFactory.circularGet
(ProviderInternalFactory.java:63)
[INFO]     at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.get
(InternalFactoryToInitializableAdapter.java:45)
[INFO]     at com.google.inject.internal.InjectorImpl$2$1.call
(InjectorImpl.java:1016)
[INFO]     at com.google.inject.internal.InjectorImpl.callInContext
(InjectorImpl.java:1092)
[INFO]     at com.google.inject.internal.InjectorImpl$2.get
(InjectorImpl.java:1012)
[INFO]     at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)
[INFO]     at org.eclipse.sisu.inject.LazyBeanEntry.getValue
(LazyBeanEntry.java:81)
[INFO]     at org.eclipse.sisu.plexus.LazyPlexusBean.getValue
(LazyPlexusBean.java:51)
[INFO]     at org.codehaus.plexus.DefaultPlexusContainer.lookup
(DefaultPlexusContainer.java:263)
[INFO]     at org.codehaus.plexus.DefaultPlexusContainer.lookup
(DefaultPlexusContainer.java:255)
[INFO]     at 
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo
(DefaultMavenPluginManager.java:519)
[INFO]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:124)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:208)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:154)
[INFO]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:146)

2) Per #1, is there a relatively easy way for us to tell maven when running
mvn commands exact versions of the maven plugins to utilize in the
command-line or must we set those within the pluginManagement section of
the pom.xml file as shown below?

<pluginManagement>
  <plugins>
    <plugin>
      <artifactId>maven-javadoc-plugin</artifactId>
      <version>3.2.0</version>
    </plugin>
  </plugins>
</pluginManagement>


Thanks for any recommendations or help around this matter. On the up-side,
this is helping me to light a fire under my company to upgrade the build
process for the few projects that still build with and run on machines
running JDK 1.7, but it does create some near-term pain for us since these
releases with JDK 1.8 class files started appearing in May.

Thanks,
Rick

<https://about.me/rickhanton?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb>
Rick Hanton
about.me/rickhanton
<https://about.me/rickhanton?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb>
E-mail: hant...@gmail.com
Twitter: rack88 <http://www.twitter.com/rack88>
Cell: 651-747-5864

Reply via email to