這個問題處于項目組,總算是解決了。下面是一些自己的做法。
1.說明介紹
公司現在用的是spring+maven,使用的公共maven庫沒有問題,但是想要把一些老的項目改造這種架構會出現一些問題。
因為一些老的項目中有好多第三方的jar包或者是自己的jar包(尤其是這種自己的包),maven庫上沒有。
最初的解決方案是一個個的deploy到maven庫上,但是遇到太多的三方jar包就太費事了,同時會有一些成本問題。
網上查了一下發現maven有一種方式可以将本地的Jar包依賴到項目中而不需要先deploy到maven庫上,值得學習一下。
2.在項目中建立一個lib
這個lib可以在項目下建,隻要可以找到即可。
不過這裡講lib目錄放在src下面了,問題不大。
3.将jar包放進來
4.修改pom檔案
basedir是自帶變量,指的是目前項目的絕對路徑,三圍自己随便寫。
ChartDirector
ChartDirector
1.0
system
${project.basedir}/src/lib/ChartDirector.jar
5.問題所在
用mvn clean package打成jar包後運作就是報錯,正式找不到這些jar包中的相關類。把jar包解壓後在WEB-INF/lib裡面也确實沒有發現用上述方式引入的jar包,看來是沒有把src/lib目錄裡面的jar打進去,後來通過查找也終于找到方法了。
6.修改pom檔案,在build标簽下增加如下配置
org.apache.maven.plugins
maven-war-plugin
${project.basedir}/src/lib
WEB-INF/lib/
**/*.jar
7.maven clean 與 install
8.看效果
這個可以直接從target中看。
進入這個目錄下,然後打開war包: