zoukankan      html  css  js  c++  java
  • maven设定项目编码

    今天在DOS下执行mvn compile命令时报错说缺少必要符号,事实上根本就没有缺少,但何以如此呢,为啥eclipse在编译时就没有这问题呢? 
    原因是编码的问题造成的! 


    eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编码。 
    当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。 


    问题解决方案是在pom.xml文件中添加如下代码 

    1     <properties>  
    2         <!-- 文件拷贝时的编码 -->  
    3         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    4         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
    5         <!-- 编译时的编码 -->  
    6         <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    7     </properties>  

    或者添加如下代码: 

     1           <plugin>  
     2                 <groupId>org.apache.maven.plugins</groupId>  
     3                 <artifactId>maven-compiler-plugin</artifactId>  
     4                 <version>3.1</version>  
     5                 <configuration>  
     6                     <source>1.5</source>  
     7                     <target>1.5</target>  
     8                     <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->  
     9                 </configuration>  
    10             </plugin>  
    11             <plugin>  
    12                 <groupId>org.apache.maven.plugins</groupId>  
    13                 <artifactId>maven-resources-plugin</artifactId>  
    14                 <version>2.6</version>  
    15                 <configuration>  
    16                     <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->  
    17                 </configuration>  
    18             </plugin>  

    转自:https://songjianyong.iteye.com/blog/1910143

    附:

    maven-compiler-plugin插件是一个Maven插件,用来编译项目代码;自从3.0开始默认的编译器是javax.tools.JavaCompiler,用来编译Java源码;如果你想强制插件使用javac编译器,你必须配置插件的属性forceJavacCompilerUse;还要注意,当前默认源(source)设置为1.6,默认目标(target)设置为1.6。独立运行Maven和JDK,可以通过source和target选项更改他们的默认值。

    插件设置的各种参数信息请查看:http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#forceJavacCompilerUse

     1 <plugins>
     2     <plugin>
     3     <groupId>org.apache.maven.plugins</groupId>
     4     <artifactId>maven-compiler-plugin</artifactId>
     5     <version>2.3.2</version>
     6     <configuration>
     7         <source>1.7</source>    <!-- 源代码使用的开发版本 -->
     8         <target>1.7</target>    <!-- 需要生成的目标class文件的编译版本 -->
     9         <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中需要没有使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
    10         <encoding>UTF-8</encoding>  <!-- 编译是的字符编码 -->
    11     </configuration>
    12     </plugin> 
    13 </plugins>
  • 相关阅读:
    【IDDFS】Power Calculus
    【A*/K短路】 [USACO08MAR]Cow Jogging G
    P1880 [NOI1995]石子合并
    【区间DP】[USACO16OPEN]248 G
    【树上背包】P1273 有线电视网
    【分组背包】[BJOI2019]排兵布阵
    DP学习笔记——背包专题
    【思维/构造】D
    【线段树+扫描线】P5490 【模板】扫描线
    【最小生成树】畅通工程再续 HDU
  • 原文地址:https://www.cnblogs.com/fnlingnzb-learner/p/10974170.html
Copyright © 2011-2022 走看看