編譯項目時,Maven會從存儲庫(通常是中央存儲庫)下載相應的.jar文件(您可以配置不同的存儲庫,用於鏡像或用於您自己的庫,這些庫不可用於中央存儲庫) 。
如果您的IDE瞭解Maven,它將解析pom
並自行下載依賴關係或要求Maven這樣做。然後它會打開依賴關係的jar包,這就是你如何獲得自動完成:IDE在幕後爲你「導入」你的jar。
存儲庫不僅包含依賴關係的「.jar」文件,還包含描述其依賴關係的「.pom」文件。所以,maven會遞歸地下載它的依賴關係,並且你將得到編譯你的軟件所需的所有jar。然後,當你嘗試運行你的軟件時,你將不得不告訴JVM在哪裏找到這些依賴關係(即,你必須把它們放在類路徑中)。
我通常所做的就是將依賴關係複製到target/lib/
目錄,因此部署軟件和啓動它很容易。要做到這一點,你可以使用maven-dependency-plugin
,您在<build>
註明:
<build>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</build>