說明
有時(shí)候,自己本地的maven工程依賴于本地的其它工程,或者manven工程中的一個(gè)模塊依賴于另外的模塊,可以執(zhí)行maven的install命令,將被依賴的包安裝在maven本地倉庫。
maven的install插件的介紹可以參考:https://maven.apache.org/plugins/maven-install-plugin/
maven的install插件有三個(gè)goals:
- install:install:自動(dòng)安裝工程的主要artifact(JAR, WAR 或者 EAR)、POM、及某個(gè)項(xiàng)目產(chǎn)生的附加的artifact(源碼、javadoc等)到maven的本地倉庫。
- install:install-file:安裝一個(gè)文件到本地倉庫。這個(gè)主要是用于將外部產(chǎn)生的一個(gè)artifact及對(duì)應(yīng)的POM安裝到本地倉庫。
- install:help:顯示maven-install-plugin的幫助信息。
示例
示例:一個(gè)工程包含幾個(gè)模塊,模塊之間存在依賴關(guān)系
這個(gè)示例的演示場(chǎng)景:
一個(gè)工程包含了幾個(gè)模塊,其中有的模塊依賴于工程中的其它的一個(gè)或幾個(gè)模塊,需要用maven的install插件將依賴安裝到本地的maven倉庫,才能正常運(yùn)行。
工程結(jié)構(gòu)
例如,本地一個(gè)maven工程包含三個(gè)模塊:
其中,power-terminal和power-server依賴于power-common模塊。
power-terminal模塊的pom.xml文件的內(nèi)容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.thb</groupId>
<artifactId>power-server-terminal-data-exchange-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>power-terminal</artifactId>
<dependencies>
<dependency>
<groupId>com.thb</groupId>
<artifactId>power-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
不安裝被依賴的模塊導(dǎo)致執(zhí)行程序報(bào)錯(cuò)
先不執(zhí)行maven的install命令,直接運(yùn)行power-terminal的主程序,會(huì)出錯(cuò)。
在命令行下執(zhí)行:
mvn exec:java -Dexec.mainClass=com.thb.power.terminal.Terminal
解決方法:先安裝被依賴的模塊,再執(zhí)行程序
- 先執(zhí)行maven的install命令將被依賴包安裝到maven的本地倉庫??梢栽趀clipse中執(zhí)行,也可以在命令行下執(zhí)行。
- 注意:因?yàn)槟K的pom.xml文件中指明了parent,所以要到parent目錄下面執(zhí)行mvn install命令,具體到本例,要在power-server-terminal-data-exchange-parent這個(gè)目錄下面執(zhí)行mvn install命令。
我們?cè)诿钚邢聢?zhí)行如下命令:
mvn install
從屏幕輸出結(jié)果可以發(fā)現(xiàn),包被安裝到了本地的maven倉庫:文章來源:http://www.zghlxwxcb.cn/news/detail-626299.html
- 然后再用maven的exec命令執(zhí)行程序,就不會(huì)報(bào)依賴出錯(cuò)了。
示例:用maven的install:help命令查看幫助信息
文章來源地址http://www.zghlxwxcb.cn/news/detail-626299.html
到了這里,關(guān)于maven install命令:將包安裝在本地倉庫,供本地的其它工程或者模塊依賴的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!