我知道,默认情况下,使用maven依赖项,它将从本地repo(.m2目录)中获取所需的一切。在我的应用程序中,我不希望它依赖于本地目录,而是从特定位置。我已将<scope>system</scope>
与<systemPath>../path/to/file/</systemPath>
一起使用,但它仍然取决于.m2目录。无论如何我可以改变maven依赖所依赖的地方吗?
使用我的应用程序,我使用的是本机代码(C ++),并且有.nar
和.so
个文件。在这个例子中,我特别需要依赖于特定目录中的.so
文件,但它总是转到.m2目录。有插件可以解决这个问题吗?
另外,请注意我正在使用Maven 2.2.1。
答案 0 :(得分:1)
首先,Maven无法解决问题。 Maven正在这样工作。在您的情况下,您需要一个不在maven存储库中的工件,这意味着您需要将该文件传输到maven存储库,然后您可以使用简单的依赖关系来使用该文件(.so)。有两种可能的解决方案:
使用install-file通过提供groupId,artifactId和version
将该特定文件作为工件安装到本地存储库中mvn install:install-file ...
另一个最好的解决方案是使用repository manager并将所需的文件安装到存储库管理器中,这使得其他人也可以使用它,而不仅仅是由你使用。