Java 根据本地项目构建Maven JAR

Java 根据本地项目构建Maven JAR,java,maven,deployment,jar,maven-assembly-plugin,Java,Maven,Deployment,Jar,Maven Assembly Plugin,我在eclipse中有一个项目(我们称之为项目a),它是一个Maven项目。它是一个供其他项目使用的库 我有一个项目B,它也是一个Maven项目,它依赖于项目a。在项目B的pom.xml中,我添加了一个引用项目a的依赖项,它完全从Eclipse构建和运行 现在,我想从项目B构建一个可执行JAR。之前,我通过将maven assembly插件插件添加到pom.xml中,然后从命令行运行mvn assembly:single来实现这一点 在项目B中运行mvn assembly:single命令时,它

我在eclipse中有一个项目(我们称之为项目a),它是一个Maven项目。它是一个供其他项目使用的库

我有一个项目B,它也是一个Maven项目,它依赖于项目a。在项目B的pom.xml中,我添加了一个引用项目a的依赖项,它完全从Eclipse构建和运行

现在,我想从项目B构建一个可执行JAR。之前,我通过将
maven assembly插件
插件添加到pom.xml中,然后从命令行运行
mvn assembly:single
来实现这一点

在项目B中运行
mvn assembly:single
命令时,它抛出一个错误,表示找不到项目A


现在,为B构建可执行JAR的最佳方法是什么?有没有一种方法可以从Eclipse中构建它(可能它会像以前一样处理依赖项引用),或者有没有一种方法可以告诉Maven项目a是本地的,它应该使用本地项目a来构建项目B。

当使用Maven项目作为Eclipse之外的依赖项时,您必须首先将其安装到本地存储库中。您可以使用
install
命令执行此操作:

安装:将包安装到本地存储库中,作为本地其他项目中的依赖项使用

这段引语来自教程



“问题”在于Eclipse将像其他项目一样使用其内部编译器构建Maven项目。由于Maven依赖项映射到了正常的Eclipse依赖项,因此您不必安装项目。但是,一旦您实际使用Maven来构建它们(即使在Eclipse中),您就会这样做。

您是否使用Maven的
install
命令安装了项目?我从未听说过该命令,我正在搜索一个示例用法,现在查看此链接我认为可能会有所帮助。。使用此链接作为参考可能会有所帮助…所有安装示例似乎都让您指向一个JAR文件,这是否意味着我需要先手动构建项目a,然后在B中安装a。maven可能不知道先构建a,然后构建B吗?不。maven所拥有的所有信息是,您对某个具有特定组的项目具有依赖性,名称和版本。如果它在本地存储库(在您的机器上)、标准存储库(Maven Central)或POM文件中配置的其他存储库中找不到它,它将不知道该做什么,您只需首先
安装
项目A,然后就可以构建项目B。肯定有一种方法可以在Eclipse中通过单个命令或操作构建和安装本地项目依赖项,然后构建主项目。对吧?据我所知,至少不是一般情况。但是,您可以将项目设置为聚合器项目的模块,并一起构建它们: