maven-compiler-plugin 指定JDK版本和编码

maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配的问题,以至于可能导致编译不通过的问题。例如代码中要是使用上了jdk1.7的新特性,但是maven在编译的时候使用的是jdk1.6的版本,那这一段代码是完全不可能编译成.class文件的。为了处理这一种情况的出现,在构建maven项目的时候,第一步就是配置maven-compiler-plugin插件。
compiler插件能解决: 
1:maven 2.1默认用jdk 1.3来编译,maven 3 貌似是用jdk 1.5,如果项目用的jdk 1.6也会有问题,compiler插件可以指定JDK版本为1.6。 
2:windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误。 

pom增加插件配置
     
          
            org.apache.maven.plugins 
            maven-compiler-plugin
            3.1 
             
                1.7 
                1.7 
                <compilerVersion>1.7compilerVersion>
                UTF-8 
             
          
   
然后mvn compile就没有以上错误了。

      idea增加maven支持很简单,在module上右键--Add framework support,选上maven就可以了。还有idea中,依赖的scope如果是test的话,如果测试代码写在main/java下也会出错,确实对junit的依赖。idea的源码文件夹中直接有测试源码文件夹这种类型,测试类不能随便放。而eclipse则没有这个限制。 

maven-compiler-plugin还可以更改编译jdk

    [...]
    
      compiler
        
          C:\Program Files\Java\j2sdk1.4.2_09
        
    
  

你可能感兴趣的:(maven)