[昨日調試]在本地運行三方公司開發的maven項目

版權聲明:本文爲博主原創文章,但是你也可以隨意轉載。 https://blog.csdn.net/smartcore/article/details/79386964

本文基於的前提是已經取得了項目源碼以及打包後的可執行程序包(如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>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.3</version>
      <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
       
<compilerArguments>
          <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
        </compilerArguments>

      </configuration>
    </plugin>
  </plugins>

 

 

問題解決。

 

其他:<compilerArguments>在官網說明(http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html)上已經改爲了<compilerArgs>,然而,貌似也是可以用的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章