最近把一個舊項目改為maven項目,發現一個問題,
舊項目用eclipse打包編譯沒問題,
但是改為maven項目使用maven打包就會出現一堆錯誤
百度了一下發現maven使用的是javac編譯相比較于eclipse的jdt要嚴格許多
但是舊項目以前代碼寫的不規範,很多那種泛型強轉的問題如果要一個一個改工作量太大
于是隻能采取配置pom的編譯插件為eclipse的jdt來編譯 這樣就沒問題了 因為以前本來也沒問題
還是百度來的配置替換原來pom的編譯插件
結果依然又出了一大堆其他問題 ,
仔細觀察錯誤發現裡面有說switch參數不能用字元串,想了想估計是編譯這插件版本太低,估計還是jdk7以前時代的
打開maven的網站 搜尋maven-compiler-plugin 找了一個較新的3.8.0 版本号 ,它引用的plexus-compiler-api為2.8.4
因為我們要用eclipse的jdt是以要用plexus-compiler-eclipse替換這個引用
以前百度到的配置版本是3.1和2.2 版本太低了才會導緻出現新的問題, 改為如下新版号後順利編譯打包
<!-- eclipse jdt編譯 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.8.4</version>
</dependency>
</dependencies>
</plugin>
<!-- javac 編譯 -->
<!-- <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin> -->