Skip to content

java.io.NotSerializableException with upToDateChecking enabled #1073

@tisoft

Description

@tisoft

Enabling the upToDateChecking with the plugin configured inside pluginManagement, with an additional dependency and running under Maven 3.6.3 leads to a java.io.NotSerializableException.

stacktrace:

java.io.NotSerializableException: org.apache.maven.model.merge.ModelMerger$MergingList
    at java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1184)
    at java.io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream.java:1548)
    at java.io.ObjectOutputStream.writeSerialData (ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream.java:1432)
    at java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1178)
    at java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:348)
    at com.diffplug.spotless.maven.incremental.PluginFingerprint.digest (PluginFingerprint.java:81)
    at com.diffplug.spotless.maven.incremental.PluginFingerprint.from (PluginFingerprint.java:40)
    at com.diffplug.spotless.maven.incremental.IndexBasedChecker.create (IndexBasedChecker.java:43)
    at com.diffplug.spotless.maven.incremental.UpToDateChecker.forProject (UpToDateChecker.java:38)
    at com.diffplug.spotless.maven.AbstractSpotlessMojo.createUpToDateChecker (AbstractSpotlessMojo.java:335)
    at com.diffplug.spotless.maven.AbstractSpotlessMojo.execute (AbstractSpotlessMojo.java:187)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:39)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:122)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:61)

example pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.diffplug.spotless</groupId>
   <artifactId>spotless-maven-plugin-tests</artifactId>
   <version>1.0.0-SNAPSHOT</version>
   <name>Spotless Maven Plugin Tests</name>
   <!-- Require plugin to be tested with Maven 3.1.0+ -->
   <prerequisites>
      <maven>3.1.0</maven>
   </prerequisites>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
   </properties>
   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>com.diffplug.spotless</groupId>
               <artifactId>spotless-maven-plugin</artifactId>
               <version>2.19.1-SNAPSHOT</version>
               <configuration>
                  <java>
                     <googleJavaFormat />
                  </java>
                  <upToDateChecking>
                     <enabled>true</enabled>
                  </upToDateChecking>
               </configuration>
               <dependencies>
                  <dependency>
                     <groupId>javax.inject</groupId>
                     <artifactId>javax.inject</artifactId>
                     <version>1</version>
                  </dependency>
               </dependencies>
            </plugin>
         </plugins>
      </pluginManagement>
      <plugins>
         <plugin>
            <groupId>com.diffplug.spotless</groupId>
            <artifactId>spotless-maven-plugin</artifactId>
            <executions />
         </plugin>
      </plugins>
   </build>
</project>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions