zoukankan      html  css  js  c++  java
  • 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的区别。
     
     
  • 相关阅读:
    codevs1080线段树练习
    NOIP2015 子串
    codevs1204 寻找子串位置
    字符串匹配的KMP算法
    TYVJ1460 旅行
    基础
    搜索
    二叉排序树
    二叉树
    poj
  • 原文地址:https://www.cnblogs.com/gaojing/p/3922555.html
Copyright © 2011-2022 走看看