本文基於的前提是已經取得了項目源碼以及打包後的可執行程序包(如war包)。
本文的思路其實非常簡單,主要是想說明maven提供的靈活配置方式的一種適用場景。
也許到這裏,你就已經猜到我想說什麼了……
背景是:因爲業務需要,找到了由三方公司開發的前置項目源碼,此項目是一個maven類型的spring web項目。在idea內打開後,發現項目的pom.xml文件內定義了<repositories>段,裏面使用的倉庫資源地址是三方公司自己搭建的私服。
爲了編譯,首先的解決方案顯然是將三方的私服換成我司內網的私服,本以爲順利解決了,然而問題出現了:此項目依賴的某些包我司私服上竟然沒有(查看我司的私服,其也做了對aliyun的映射),仔細看依賴包之後,發現是三方公司特有的。
幸運的是,三方公司提供此項目源碼時,也同時可運行的war包。
是maven靈活配置顯身手的時候了:
1、將war包解壓後,把其中的lib文件夾拷出來,放置到項目的src/main/webapp/WEB-INF目錄下;
2、將pom.xml裏的<dependencies>段以及其子段內容全部註釋掉;
3、利用maven-compiler-plugin插件,在pom.xml裏做配置,如下:
<build>
|
問題解決。
其他:<compilerArguments>在官網說明(http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html)上已經改爲了<compilerArgs>,然而,貌似也是可以用的。