<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1-beta-1</version> <configuration> <warName>admingift</warName> <webResources> <resource> <directory>${basedir}/src/main/webapp/WEB-INF</directory> <includes> <include>*.xml</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> <targetPath>WEB-INF</targetPath> </resource> <!-- 本地的jar拷貝到lib下 --> <resource> <directory>../lib</directory> <includes> <include>*.jar</include> <include>**/*.jar</include> </includes> <targetPath>WEB-INF/lib</targetPath> </resource> </webResources> <webappDirectory>target/admingift</webappDirectory> </configuration> </plugin>
上面是我maven的war插件的配置。
被wart filter之后就出現了亂媽,啟動報錯。MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.
大概注意的點是:
1、查看被fitler的文件是否帶utf-8的Bom頭,去掉bom頭,帶了有可能報錯
2、windows maven的war插件的版本,2.1-bata-1有問題,它的編碼識別有問題,懷疑是按照iso-5589-1解析,fitler后的文件16進制查看為3f,造成黑洞現象
3、網上很多解決方式是改成gbk,這個是一種解決方案,如果希望繼續使用utf-8編碼的,請修改war的filter,還有不要忘記resource插件的編碼設置。