[ https://issues.apache.org/jira/browse/MCOMPILER-355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16566194#comment-16566194 ]
Brett Sutton commented on MCOMPILER-355: ---------------------------------------- Ok so I'm a little confused by [~rfscholte] statement: 'there's something smelly about this project. You're putting a pom on the classpath/modulepath.' Is this statement aimed at my pom or the maven implementors? I thought pom setup was the 'standard' way of converting a project to a module which is essentually: Change source/target to Java 9+ Add module-info.java to java/main/src. Compile. Jobs done. So have I done something odd or is the question targeted at the maven maintainers? > NPE in CompilerMojo.preparePaths on exception > --------------------------------------------- > > Key: MCOMPILER-355 > URL: https://issues.apache.org/jira/browse/MCOMPILER-355 > Project: Maven Compiler Plugin > Issue Type: Bug > Environment: ubunutu 18.04. > Reporter: Brett Sutton > Priority: Major > Attachments: testpom.zip > > > I'm getting: > > {code:java} > > Caused by: java.lang.NullPointerException > at org.apache.maven.plugin.compiler.CompilerMojo.preparePaths > (CompilerMojo.java:244) > at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute > (AbstractCompilerMojo.java:787) > at org.apache.maven.plugin.compiler.CompilerMojo.execute > (CompilerMojo.java:188) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:134) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:208) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:154) > {code} > > Appears to be caused by the exception handling assuming the 'cause' will be > non-null: > line 244 is: > {code:java} > 243 Throwable cause = pathException.getValue().getCause(); > 244 while ( cause.getCause() != null ) > 245 { > 246 cause = cause.getCause(); > 247 }{code} > > Clearly in some cases pathException.getValue().getCause() is returning null. > This occurs when I try to build a java 10 project using: > {code:java} > mvn deploy{code} > > I've narrowed the problem down to this dependancy: > {code:java} > <!-- https://mvnrepository.com/artifact/org.javamoney/moneta --> <dependency> > <groupId>org.javamoney</groupId> > <artifactId>moneta</artifactId> > <version>1.3</version> > <type>pom</type> > </dependency>{code} > If you remove the above dependency then the problem goes away. > So there is likely to be two problems here. The initial NPE which should be > easy to fix and then possibly the root cause of the exception. > Full pom is: > {code:java} > <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>au.com.noojee</groupId> > <artifactId>noojeebilling.api</artifactId> > <version>1.4-SNAPSHOT</version> > <properties> > </properties> > <build> > <sourceDirectory>src/main/java</sourceDirectory> > <plugins> > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > <version>3.8.0</version> > <configuration> > <release>10</release> > </configuration> > </plugin> > </plugins> > <extensions> > <extension> > <groupId>io.packagecloud.maven.wagon</groupId> > <artifactId>maven-packagecloud-wagon</artifactId> > <version>0.0.6</version> > </extension> > </extensions> > </build> > <distributionManagement> > <repository> > <id>noojee-internal</id> > <url>packagecloud+https://packagecloud.io/noojee/internal</url> > </repository> > <snapshotRepository> > <id>noojee-internal</id> > <url>packagecloud+https://packagecloud.io/noojee/internal</url> > </snapshotRepository> > </distributionManagement> > > <dependencies> > <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> > <dependency> > <groupId>com.google.code.gson</groupId> > <artifactId>gson</artifactId> > <version>2.8.5</version> > </dependency> > <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core > --> > <dependency> > <groupId>org.apache.logging.log4j</groupId> > <artifactId>log4j-core</artifactId> > <version>2.9.1</version> > </dependency> > <!-- https://mvnrepository.com/artifact/org.javamoney/moneta --> > <dependency> > <groupId>org.javamoney</groupId> > <artifactId>moneta</artifactId> > <version>1.3</version> > <type>pom</type> > </dependency> > <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on --> > <dependency> > <groupId>org.bouncycastle</groupId> > <artifactId>bcprov-jdk15on</artifactId> > <version>1.59</version> > </dependency> > <dependency> > <groupId>junit</groupId> > <artifactId>junit</artifactId> > <version>4.11</version> > <scope>test</scope> > </dependency> > > </dependencies> > </project> > {code} > > > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)