Maven-2:如何管理依赖依赖的位置?

时间:2013-02-01 16:27:32

标签: maven maven-2 maven-dependency-plugin

我知道,默认情况下,使用maven依赖项,它将从本地repo(.m2目录)中获取所需的一切。在我的应用程序中,我不希望它依赖于本地目录,而是从特定位置。我已将<scope>system</scope><systemPath>../path/to/file/</systemPath>一起使用,但它仍然取决于.m2目录。无论如何我可以改变maven依赖所依赖的地方吗?

使用我的应用程序,我使用的是本机代码(C ++),并且有.nar.so个文件。在这个例子中,我特别需要依赖于特定目录中的.so文件,但它总是转到.m2目录。有插件可以解决这个问题吗?

另外,请注意我正在使用Maven 2.2.1。

1 个答案:

答案 0 :(得分:1)

首先,Maven无法解决问题。 Maven正在这样工作。在您的情况下,您需要一个不在maven存储库中的工件,这意味着您需要将该文件传输到maven存储库,然后您可以使用简单的依赖关系来使用该文件(.so)。有两种可能的解决方案:

使用install-file通过提供groupId,artifactId和version

将该特定文件作为工件安装到本地存储库中

mvn install:install-file ...

另一个最好的解决方案是使用repository manager并将所需的文件安装到存储库管理器中,这使得其他人也可以使用它,而不仅仅是由你使用。