tomcat源码原本是使用Apache Ant进行编译,其中build.xml中有两行编码格式转换的代码
<native2ascii src="java" dest="${tomcat.classes}" includes="**/LocalStrings.properties,**/Messages*.properties" encoding="UTF-8"/>
<native2ascii src="java" dest="${tomcat.i18n}" includes="**/LocalStrings_*.properties" encoding="UTF-8"/>
用于将LocalStringx_*.properties文件进行Unicode转码,本质是代码中用java自带的Properties进行读取,无法正常读写UTF-8编码。
用maven进行编译时也同样需要对应的转码,具体就是在pom.xml中添加如下代码即可:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>2.0.1</version>
<executions>
<execution>
<id>native2ascii</id>