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