Maven環境下面多項目之間的引用

如圖:git

https://github.com/sdl/odata-example  sdl OData例子包含了4個項目,下載到本地後編譯。發現只有model項目是能夠編譯過去了。其餘幾個暫時編譯不過。github

提示:Could not find artifact,tomcat

緣由以下:例如編譯examble-datasource就會報以下錯誤,首先examble-datasource添加了對examble-model的引用,可是examble-model引用須要從maven的本地倉庫中尋找。在咱們本地倉庫中通常狀況不會有剛編譯項目的jar包的。正常狀況咱們是編譯成jar包,只會放在target目錄裏面了。maven

由於編譯過程通常是ui

第一步,maven cleanspa

第二步, 作個目標爲:clean tomcat:redeploy的maven build,而後執行maven build。.net

這樣target目錄就會有對應的jar包了。code

可是即便這樣 examble-datasource編譯的時候仍是會報錯。即使是examble-model的jar已經生成了也沒用。由於examble-datasource調用的時候是調用Maven本地倉庫裏面的examble-model引用。blog

maven本地倉庫的目錄通常在下面 用戶名\.m2\repositoryget

因此 必須把example-model jar包添加到本地倉庫。

參考

https://blog.csdn.net/chenbhhh/article/details/80737106?utm_source=blogkpcl5

https://blog.csdn.net/qq_15237993/article/details/72540928

新增一個maven build

其中goals以下:

install:install-file -Dfile=C:\Users\Thinkpad\Downloads\odata-example-master\example-model\target\example-model-1.0-SNAPSHOT.jar -DgroupId=com.sdl -DartifactId=example-model -Dversion=1.0-SNAPSHOT -Dpackaging=jar

其中的含義,若是example-datasource須要添加example-model的引用,則須要在POM文件中添加對model jar的引用

  <dependency>
          <groupId>com.sdl</groupId>
          <artifactId>example-model</artifactId>
          <version>1.0-SNAPSHOT</version>
   </dependency>

那麼Maven 安裝 JAR 包的命令是:
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

 這樣把example-model的的jar包添加到本地倉庫後,在編譯example-datasource發現能夠經過了。

 

最後,直接maven build OData-example成功!大功告成。

在IDEA下面好像會簡單一些,

能夠參考:https://blog.csdn.net/yueloveme/article/details/80104808

相關文章
相關標籤/搜索