Maven:设定项目编码

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

原因是编码的问题造成的!

eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编。

当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。

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

复制代码
<properties>  
    <!-- 文件拷贝时的编码 -->  
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
    <!-- 编译时的编码 -->  
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
</properties>

或者添加如下代码:

复制代码
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-compiler-plugin</artifactId>  
    <version>3.1</version>  
    <configuration>  
        <source>1.5</source>  
        <target>1.5</target>  
        <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->  
    </configuration>  
</plugin>  
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-resources-plugin</artifactId>  
    <version>2.6</version>  
    <configuration>  
        <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->  
    </configuration>  
</plugin>  
相关推荐
Paul_09201 分钟前
golang面经——map模块和sync.Map模块
开发语言
小许学java3 分钟前
Spring AI-流式编程
java·后端·spring·sse·spring ai
Univin7 分钟前
C++(10.5)
开发语言·c++·算法
haogexiaole35 分钟前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构
张人玉1 小时前
C# 通讯关键类的API
开发语言·c#
EnCi Zheng1 小时前
@ResponseStatus 注解详解
java·spring boot·后端
froginwe111 小时前
R 数组:深入解析与高效使用
开发语言
tao3556671 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode
wdfk_prog1 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库