Maven编译警告,导致最终编译失败

我的机器环境:

Windows vista 英文版;

JDK 1.6;

Maven 2.2

 

昨天以前用mavan编译项目基本没有任何错误和警告信息,release目录下面总是能编译出最新的包。但是昨天为了安装一个blackberry的桌面间辅助工具winloader,我将系统的语言环境给改成可以支持中文了,这在我上一篇文章有介绍(英文版vista,中文软件乱码 )。

 

从这以后编译项目总是抛出:

 

[WARNING] /ejigshn_view/ecds4.2_pc_stc/mtv_v_bric/design/bric-common-jar/src/mai
n/java/com/ericsson/mtv/bric/common/BricUtil.java:[237,16] 警告:sun.misc.BASE64
Encoder 是 Sun 的专用 API,可能会在未来版本中删除
[WARNING] /ejigshn_view/ecds4.2_pc_stc/mtv_v_bric/design/bric-common-jar/src/mai
n/java/com/ericsson/mtv/bric/common/BricUtil.java:[237,49] 警告:sun.misc.BASE64
Encoder 是 Sun 的专用 API,可能会在未来版本中删除

 

这样的警告信息,而且正是由于这些警告导致了项目最终编译失败,release目录下没有编译出新包。

 

原因分析:

 

1. maven 对中文支持不好,英文环境下能发现警告信息中的关键字符,然后编译时会忽略这些警告(虽然警告信息也会打印出来,但是不影响编译结果),而中文时maven识别不了中文里的关键字,自然不会忽略这些警告,权当错误处理。

 

2. 我原来操作系统的本地语言都是英文的,现在改成可以支持中文了,所以才会出现这样的编译问题,换句话说,如果你是完完全全的英文操作系统,maven编译时就不会因警告导致编译不通过的情况出现。

 

解决方案:

 

 

1. 方案一 (我机器上没能实验成功,比较麻烦,jdk的依赖不好配置

 

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.5</source>
        <target>1.5</target>
        <compilerArguments>
            <verbose />
            <bootclasspath>${java.home}/lib/rt.jar</bootclasspath>
        </compilerArguments>                       
    </configuration>      
</plugin>

 

 

2. 方案二(我机器上没试验成功,也许是环境不同

 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.1</version> 
    <dependencies> 
        <dependency> 
            <groupId>org.codehaus.plexus</groupId> 
            <artifactId>plexus-compiler-javac</artifactId>  
            <version>1.8.1</version> 
        </dependency> 
    </dependencies>
</plugin>

 

3. 方案三(推荐,我机器上实验成功

 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
</plugin>

 

你可能感兴趣的:(jdk,maven,api,sun,BlackBerry,dependencies)