博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven使用FAQ:与Maven版本和字符集编码有关的编译错误处理
阅读量:2724 次
发布时间:2019-05-13

本文共 1550 字,大约阅读时间需要 5 分钟。

在Maven3.0下创建了一个POM文件,可对项目进行正常的构建,但版本改为Maven2.2.1时却出现类似如下的编译错误: 

[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Compilation failure 
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,49] 需要 '}' 
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,50] 非法字符: \65533 
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,51] 需要 <标识符> 
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,52] 需要 ';' 
… 
该错误显然跟字符集编码有关,但POM文件中已指定了编码为UTF-8,在POM文件中包含如下内容: 
? <properties> 
????? <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
? </properties>

经反复试验和分析,发现这跟Maven版本有关。Maven3和Maven2版本变化不小,不完全兼容。

?

具体解决方法说明如下:??

?在确认POM文件中已有上述<project.build.sourceEncoding>内容的前提下,增加以下内容(如已包含maven-compiler-plugin的相关内容,则只需在相应位置增加红色字体部分内容):

? <build>?

??? <plugins> 
????? <plugin> 
??????? <groupId>org.apache.maven.plugins</groupId> 
??????? <artifactId>maven-compiler-plugin</artifactId> 
??????? <configuration> 
? <source>1.5</source> 
? <target>1.5</target> 
<encoding>UTF-8</encoding> 
??????? </configuration> 
????? </plugin> 
??? </plugins>????
? </build>

?

? 注意: 

??? 1、同时指定<project.build.sourceEncoding>属性和<encoding>方式可适用于Maven2和Maven3。

??? 2、在Maven3中可以只增加<project.build.sourceEncoding>属性而不指定<encoding>,即能解决编译问题。如果只指定<encoding>编译不会出错,但会出现以下警告。建议两者都进行指定或只指定前者。警告信息如下:

[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

??? 3、在Maven2中,如果只指定<project.build.sourceEncoding>属性则编译出错;如果只指定<encoding>编译不会出错,但会出现与第2点类似的警告,建议两者都进行指定,以免对运行产生影响。

 

转载地址:http://egvtd.baihongyu.com/

你可能感兴趣的文章
poj 2376 Cleaning Shifts
查看>>
c++ primer 的第一天和第二天的学习
查看>>
类的继承
查看>>
python leetcode 147. Insertion Sort List
查看>>
python leetcode 155. Min Stack
查看>>
python leetcde 160. Intersection of Two Linked Lists
查看>>
python leetcode 162. Find Peak Element
查看>>
python leetcode 164. Maximum Gap
查看>>
python leetcode 165. Compare Version Numbers
查看>>
python leetcode 167. Two Sum II - Input array is sorted
查看>>
python leetcode 168. Excel Sheet Column Title 171. Excel Sheet Column Number
查看>>
python问题:IndentationError:expected an indented block错误解决
查看>>
多去阅读思维训练类的书籍
查看>>
如何高效地阅读技术类书籍与博客
查看>>
面经:面试官会关注你的哪些能力?
查看>>
Python学习总结(一)
查看>>
Python学习总结(二)----python的练习方法
查看>>
linux下dup2的实现
查看>>
unix系统编程小结(一)------文件I/O
查看>>
unix系统编程小结(二)------文件和目录
查看>>