2015-12-21 78 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>