原因是编码的问题造成的!
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>
maven之资源文件拷贝设置
Maven零散笔记——常用配置
maven常见问题问答
maven2 (二)
maven用途、核心概念、用法、常用参数和命令、扩展
mvn compiler:compile时出现非法字符: /65279错误
tomcat环境中file.encoding的修改方法
备注:使用maven的插件时可以带上参数 -Dfile.encoding=UTF-8