我有一个项目,其中有多个.jar
文件。在过去,我有一个build.xml
文件,当时我正在运行Ant
,它正在用这些多个罐子创建一个新罐子,而这个全新的罐子被称为依赖关系。Maven启动ant任务,然后使用它作为依赖项
现在,我切换到maven,我想知道我如何能够实现这一点。换句话说,如何告诉maven将多个jar构建到一个jar中,然后将其引用为依赖项?为了把东西放到更坚实的基础,我将共享的文件夹结构,我有:
+- mainProject
+- pom.xml
+- someGroup
| +- pom.xml <- refer here
| +- sampleModule1
| | +- pom.xml <- build here
| | +- build.xml
| | +- first.jar
| | +- second.jar
一个在我脑海里的想法是告诉Maven来调用build.xml
,这将创造新的罐子掉那些两罐,然后使用它作为依赖项,如下所示:
<dependency>
<groupId>someGroup</groupId>
<artifactId>org.boofcv</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/../shared/org.boofcv/brand-new.jar</systemPath>
</dependency>
但是,我怀疑它会起作用,因为鸡蛋问题可能会发生。当我打电话给maven安装时,创建新的.jar
的任务可能发生在maven将其视为依赖项之后,从而导致错误。
有没有人知道这个解决方法?
停止使用systemPath ...错误的方向。你可以通过'refer here'来解释你的意思吗?你可以做一个你当前状态的示例项目,并把它放在github上... – khmarbaise
我正在使用本地存储库,并且我想从其他两个jar中构建一个jar。后来我想用这个新的jar作为依赖。简单。 –
“本地资源库”是什么意思? '$ HOME/.m2/repository'?从几个jar构建一个jar可以通过maven-shade-plugin来完成...... – khmarbaise