首页 > 代码库 > maven中文乱码问题——编译错误

maven中文乱码问题——编译错误

新建了个web应用,用maven配置的。
Java源代码采用了utf-8编码格式。
本地编译打包,报错误。
 
由于系统默认编码是GBK,因此需要采用utf-8来编译。
采用如下方式:
在pom中添加如下:
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId> 
        <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
        </configuration> 
<plugin>  
 
添加这个之后,发现还是不行。依然报错。
 
折腾了好久,从http://jd.benow.ca/ 下载了jd-gui这个软件,查看编译后的class文件,发现中文还是乱码。
可见编译依然没有采用utf-8编码。
 
检查pom文件中,compile插件的配置。擦,竟然把这个plugin配置在<pluginManagement>里面去了,如下:
<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>

                <source>1.6</source> 

                 <target>1.6</target> 

                 <encoding>utf-8</encoding>
            </configuration>
        </plugin>
        ......
    </plugins>
<pluginManagement>
 
而其实正确的做法应该是:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source> 
                <target>1.6</target> 
                 <encoding>utf-8</encoding>
            </configuration>
        </plugin>
        ......
    </plugins>
<build>
 
其实,类似的错误还有,denpendencies 和dependencyManagement里的denpendencies的区别。