[ 
http://jira.codehaus.org/browse/MCOMPILER-80?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=208622#action_208622
 ] 

Jesse Glick commented on MCOMPILER-80:
--------------------------------------

Using default source/target levels in a build tool is not a good idea since it 
makes both the success of the build and its artifacts dependent on the 
environment in which it was run, contrary to the goals of a reproducible build. 
A given module or tree of modules will have a certain source level it requires 
in order to compile, so increments to this in the POM should be coversioned 
with source code changes to use new language features. Target level (usually 
but not necessarily the same as source level) is even more important to specify 
explicitly, because it is not obvious when you get it wrong - until your 
bytecode fails to load on an older customer JVM which you had intended to still 
support (perhaps using animal-sniffer to cover JRE API level), or (even less 
obviously) because target=5 bytecode loads unnecessarily slowly on a 6+ JVM.

> Change default source level to 1.5
> ----------------------------------
>
>                 Key: MCOMPILER-80
>                 URL: http://jira.codehaus.org/browse/MCOMPILER-80
>             Project: Maven 2.x Compiler Plugin
>          Issue Type: Improvement
>            Reporter: Grzegorz Borkowski
>            Priority: Minor
>
> Deafult source level setting for Maven compiler plugin is 1.3, as far as I 
> remember. This makes no sense. 1.3 is used at this moment only in legacy 
> applications. Probability of porting such legacy application to Maven 2 is 
> very small. I was working with such applications - none of them used Maven. 
> In fact, I don't know any application using Maven, which requires level 1.3.  
> On the other hand, Maven is used exensively in new applications. Most of them 
> use Java 5 features (annotations, generics...). All new applications I create 
> use Maven 2 and Java 5. Every time I setup such application it makes me crazy 
> that I get errors on my generics and annoations, and I have to setup manually 
> the source level to 1.5. Come on, we have year 2008, not 2000! Java 5 is here 
> for several years already. So why Maven compiler plugin does not use the most 
> reasonable default approach, instead it still assumes we are in 2000 year? If 
> someone wants to use old java version, than he can change the source level. 
> By default should be 1.5.
> The default setting can be changed in never wersion of maven compiler plugin.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to