如何在构建Maven Java项目时包含其他Java项目
我有两个项目,Java项目和Maven Java项目。 我使用这个pom设置将Maven Java项目构建为可运行的jar文件如何在构建Maven Java项目时包含其他Java项目,java,eclipse,maven,dependencies,Java,Eclipse,Maven,Dependencies,我有两个项目,Java项目和Maven Java项目。 我使用这个pom设置将Maven Java项目构建为可运行的jar文件 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <fina
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ISO8583PostpaidServer</finalName>
<!-- <finalName>ISO8583PrepaidServer</finalName> -->
<archive>
<manifest>
<!-- If you want to compile as Prepaid change this class reference -->
<mainClass>PostpaidServer</mainClass>
<!-- <mainClass>PrepaidServer</mainClass> -->
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
maven汇编插件
ISO85831服务器
后置辅助服务器
带有依赖项的jar
假的
org.apache.maven.plugins
maven编译器插件
1.8
1.8
但是我得到了一个错误,因为在我的构建路径中,我向我的Java项目添加了依赖项。如何将标准Java项目作为依赖项添加到我的Maven项目中
无论如何,谢谢你:)正如你所说的,你的问题是你依赖的Java项目不是用maven管理的 我认为你有两个选择:
- 将该项目转换为maven项目,并创建多模块maven项目。如果您是其他项目的所有者,这将非常方便
- 构建该项目,使用
并创建您自己的本地maven repo。如果您无法管理另一个项目,或者您只想将其用作依赖项,那么这非常方便jar
- 转换为maven项目
- 创建一个包含两个模块的父maven项目:您的项目和转换后的项目
- 添加依赖项
- 将源代码和资源路径更改为
和src/main/java/
src/main/resources/
- 声明依赖项
- 配置插件
parent
├── module1
│ ├── src ...
│ └── pom.xml
├── module1
│ ├── src ...
│ └── pom.xml
└── pom.xml
<repositories>
<repository>
<id>local-repo</id>
<name>Local Repo</name>
<url>file://${project.basedir}/local-libs</url>
</repository>
</repositories>
<dependency>
<groupId>GROUP</groupId>
<artifactId>ARTIFACT</artifactId>
<version>VERSION</version>
</dependency>
您的父级pom.xml
将声明一个modules
节以包含这两个模块,您的模块pom.xml
将包含一个parent
节以引用父级项目
母体聚甲醛
此命令将把jar作为GROUP.ARTIFACT.VERSION
存储到本地maven存储库中(而不是HOME/.m2/存储库中)
在项目pom上声明本地maven回购协议
创建本地maven repo后,在pom.xml
中声明它,如下所示:
parent
├── module1
│ ├── src ...
│ └── pom.xml
├── module1
│ ├── src ...
│ └── pom.xml
└── pom.xml
<repositories>
<repository>
<id>local-repo</id>
<name>Local Repo</name>
<url>file://${project.basedir}/local-libs</url>
</repository>
</repositories>
<dependency>
<groupId>GROUP</groupId>
<artifactId>ARTIFACT</artifactId>
<version>VERSION</version>
</dependency>
本地回购
本地回购
文件://${project.basedir}/local libs
声明依赖项
创建并声明本地maven回购协议后,使用它。创建一个依赖项,如下所示:
parent
├── module1
│ ├── src ...
│ └── pom.xml
├── module1
│ ├── src ...
│ └── pom.xml
└── pom.xml
<repositories>
<repository>
<id>local-repo</id>
<name>Local Repo</name>
<url>file://${project.basedir}/local-libs</url>
</repository>
</repositories>
<dependency>
<groupId>GROUP</groupId>
<artifactId>ARTIFACT</artifactId>
<version>VERSION</version>
</dependency>
团体
人工制品
版本
你不需要做任何其他事情
一旦您创建了本地maven repo,每个获得repo的程序员都可以立即工作,无需再次运行任何mvn
命令 使用Eclipse最简单的方法是:
将Java项目转换为Maven项目,Configure->Convert to Maven项目
。填写组Id
,工件Id
和版本
runas->Maven安装
在要使用它们的项目中,在pom.xml
POM中没有添加依赖项。请参考:解决方案足够长,因此只提供URL。是的,当然还没有添加,如何添加以及在哪里?谢谢你。@Suyash我已经看到了教程,但是在这种情况下,我有两个maven项目。在我的例子中,一个是作为依赖项的标准java项目,另一个是Maven项目。您是否尝试过: