2015-12-21 95 views
0

我有一個名爲$ MYCLASSPATH的環境變量,其中包含一組包含JARS的目錄。我的環境變量的一個示例可能如下:將目錄列表添加到Maven

/project1/jars/:/project2/jars:/project3/jars 

我也有一個maven項目,它包含一些在pom.xml中定義的外部依賴關係。但是,我想包含Maven中上述環境變量中列出的所有目錄,因爲編譯需要一些JARS。

沒有Maven的我能做到這一點:

javac -cp "$MYCLASSPATH" path/to/my/java_file 

我如何添加這些目錄的Maven?

回答

0

每個缸應該由一組特定的行家來鑑定座標 https://maven.apache.org/pom.html#Maven_Coordinates

這讓我們知道罐子裏的項目依賴於哪個版本和在哪裏從Maven倉庫得到它。

它還允許使用另一組環境變量從另一臺計算機正確構建項目。

所以你應該使用正確的maven座標在你的pom中定義你的依賴關係。

+0

謝謝!但是,在我的情況下,這個罐子列表非常大。它可以自動給予某種方式?另外,就我而言,我並不確切知道需要哪些罐子。 – nikosdi

+0

定義一個正確的POM,是爲了解決「我不確切知道需要什麼罐子」的問題。一旦它被正確定義,那麼下一個人不需要猜測。我發現,使用maven(以及許多其他工具),您可以按照其使用的方式使用它,也可以在流中游泳,並受到解決方法和問題的困擾。 – crowne

1

作爲除了皇冠的答案,一旦你知道座標的外部依賴關係必須被添加到使用你的本地倉庫mvn install:install-file

例如

mvn install:install-file -Dfile=path_to_your_jar -DgroupId=X -DartifactId=X -Dversion=X -Dpackaging=jar 

那麼你的POM可以包含以下依賴關係以相同的方式聲明正常的依賴關係,例如。

<dependency> 
    <groupId>X</groupId> 
    <artifactId>X</artifactId> 
    <version>X</version> 
</dependency>