記一次maven編譯錯誤導致的打包失敗問題。錯誤如下
Compilation failure
Failure executing javac, but could not parse the error:
javac: Ч ? : ? ?÷ : javac <options> <source files>
-help г ? ?
排查路徑如下:
1)更換jdk,設置jdk路徑
2)設置idea工程使用的jdk
3 ) 設置idea工程使用的文件編碼,確保為utf-8
4)使用maven的命名行打包,
5)更換maven打包的插件版本
通過以上排查問題后,錯誤依然不能消除。
后使用idea使用了一個簡單的springboot工程,發現可以打包成功。通過這次實踐,基本可以定位為maven包插件問題。
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.5.1</version><inherited>true</inherited><configuration><encoding>UTF-8</encoding><source>${source.jdk.version}</source><target>${target.jdk.version}</target><compilerVersion>${target.jdk.version}</compilerVersion><fork>true</fork><meminitial>128m</meminitial><maxmem>1024m</maxmem><skip>true</skip></configuration>
</plugin>
然后針對插件,更換插件版本,均不能通過
后一步步試錯,發現??<fork>true</fork>這一行去掉,解決問題。通過度娘發現,這行的意思是啟動一個獨立的進程,構建代碼,能提高性能。
但是因為使用同一個項目,該參數在其他同事機器上打包都可以通過,卻不能在我的電腦上生效。
最后,可能是我的電腦在fork進程時,沒有從父進程將打包編譯參數傳遞給子進程導致。