[ 
https://issues.apache.org/jira/browse/MCOMPILER-452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17274567#comment-17274567
 ] 

Michael Osipov commented on MCOMPILER-452:
------------------------------------------

That's not related to this plugin, but you generally cannot remove properies, 
but only overwrite.

> release cannot be emptied to activate profiles compiling with previous Java 
> version
> -----------------------------------------------------------------------------------
>
>                 Key: MCOMPILER-452
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-452
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.8.1
>            Reporter: Lugan
>            Priority: Minor
>
> I am working on a project where some sub modules maven are in compiled in 
> Java 8, some other in Java 11.
> For modules where sources must be compiled in Java 8, we still want to write 
> our tests in Java 11. 
> I have defined 2 profiles :
>  * Java 11 by default with the maven.compiler.release property set 
>  * Java 8 where the maven.compiler.release property is empty :
>  {code:xml}
> <properties>
>                 <maven.compiler.source>1.8</maven.compiler.source>
>                 <maven.compiler.target>1.8</maven.compiler.target>
>                 <maven.compiler.release></maven.compiler.release>
> </properties>
> {code}
> I have a IllegalArugmentException :
> {code:java}
> Caused by: java.lang.NumberFormatException: For input string: ""
>     at java.lang.NumberFormatException.forInputString 
> (NumberFormatException.java:65)
>     at java.lang.Integer.parseInt (Integer.java:662)
>     at java.lang.Integer.valueOf (Integer.java:983)
>     at org.apache.maven.plugin.compiler.TestCompilerMojo.preparePaths 
> (TestCompilerMojo.java:306)
>  {code}
> After inspecting the plugin source code on github, I have found that release 
> variable is tested to be null or not : 
> {code:java}
> if ( release != null )
>         {
>             if ( Integer.valueOf( release ) < 9 )
>             {
> {code}
> https://github.com/apache/maven-compiler-plugin/blob/master/src/main/java/org/apache/maven/plugin/compiler/TestCompilerMojo.java
> It would be more robust by checking if release is neither null nor empty. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to