Java Maven:通过项目目录外的相对路径向jar添加依赖项
除了我试图指向的资源在项目文件夹之外,情况与中基本相似 背景是我有一个git回购协议,其中包含一些项目。其中一个项目需要另一个项目的jar才能运行,因此预期的依赖关系应该是smth,如下所示:Java Maven:通过项目目录外的相对路径向jar添加依赖项,java,maven,dependencies,pom.xml,Java,Maven,Dependencies,Pom.xml,除了我试图指向的资源在项目文件夹之外,情况与中基本相似 背景是我有一个git回购协议,其中包含一些项目。其中一个项目需要另一个项目的jar才能运行,因此预期的依赖关系应该是smth,如下所示: <dependency> <groupId>another-proj-jar</groupId> <artifactId>another-proj-jar</artifactId> <version>1.0&l
<dependency>
<groupId>another-proj-jar</groupId>
<artifactId>another-proj-jar</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>../another-proj/build/another-proj.jar</systemPath>
</dependency>
另一个项目罐
另一个项目罐
1
系统
../other proj/build/other-proj.jar
另一个项目
不是Maven项目(将其转换为Maven项目本身就是一个问题,让我们在这里跳过它),因此我通过Eclipse导入手动创建该jar
但是,我不确定是否可以指示项目目录之外的相对路径,因为所有示例都指向/${basedir}/my repo
,其中${basedir}
基本上是当前项目文件夹。我需要把它放在当前项目文件夹的上一层
你能告诉我这是否可能,以及如何或什么是解决办法吗?实际上,这应该只是一个正常的依赖关系。在您所依赖的项目中(示例中的另一个项目)运行
mvn clean install
。这将把.jar文件复制到您的~/.m2/repository
目录。然后在需要库的项目中有一个依赖项,如:
<dependency>
<groupId>another-proj-jar</groupId>
<artifactId>another-proj-jar</artifactId>
<version>1.0-SNAPSHOT</version> <!-- or whatever it is set to -->
</dependency>
另一个项目罐
另一个项目罐
1.0-快照
这样做的巨大优势是,如果您正在拉入的jar需要其他任何东西,那么它也会被拉入。哦,另一个项目,例如
另一个项目
,不是基于Maven的。我手动从中创建了一个jar。。。因此,我还需要手动提取所有其他内容我猜我已将依赖项保留在项目文件夹之外,但不知道如何在依赖项中提供路径永远不要从系统范围依赖项之类的内容开始…将所需文件安装到存储库中,或者最好有一个存储库管理器,并将其安装在那里,或者将其用作将另一个版本迁移到maven…这将使您的生活更轻松。。。