Java 如何使用Maven组织本地依赖关系?
在我的公司,我有一个Java项目:Java 如何使用Maven组织本地依赖关系?,java,maven,Java,Maven,在我的公司,我有一个Java项目: 通用:包含用于多个项目的类 GUI:这个项目包含一个通用的GUI 如果没有Maven,我可以向类路径添加common,我就可以构建项目。但是,当我想用Maven构建GUI时,如何设置POM.xml和Eclipse工作区呢 我还想稍后将应用程序打包到JAR中,因此我尝试将gui设置为.JAR包 但是,如何将Maven类型分配给公共项目呢 理想情况下,我可以将“common”导入Maven项目 更新: 好的,当我添加为本地依赖项时,mvn package命令
- 通用:包含用于多个项目的类
- GUI:这个项目包含一个通用的GUI
好的,当我添加为本地依赖项时,
mvn package
命令似乎能够解析“公共”项目,请参见GUI下的内容。对于是否使用“pom”、“maven插件”或“模块”,仍然有点困惑-任何人都可以添加一些链接/说明,何时使用什么方法?在GUI中声明常见的maven依赖项。
如果它不是maven项目,请将其添加到本地存储库,如图所示使用以下命令在eclipse中安装maven插件。
这将在eclipse中启用maven。然后右键单击您的项目并单击Configure,您将看到Convert to Maven项目选项。这会将现有项目转换为maven项目。从向导转换时,可以将项目配置为生成为.jar、.war等。下面是关于如何做的教程 我将遵循以下步骤
本地maven存储库
来存储自定义JAR。它只有一个包含pom文件的正确目录结构${master\u project}
位置创建主项目,在${master\u project}/${common}
和${master\u project}/${gui}
位置创建子项目${master_project}/local maven repo
${master_project}/${gui}/pom.xml
<repository>
<id>local-maven-repo</id>
<url>file:///${project.parent.basedir}/local-maven-repo</url>
</repository>
本地马文回购
文件://${project.parent.basedir}/localmaven repo
mvn install:install-file
-Dfile=<path-to-file>
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>
-DgeneratePom=true
Where: <path-to-file> the path to the file to load
<group-id> the group that the file should be registered under
<artifact-id> the artifact name for the file
<version> the version of the file
<packaging> the packaging of the file e.g. jar
mvn安装:安装文件
-D文件=
-DgroupId=
-DartifactId=用于此答案。
以下是有关的更多资源,您可以像在src/main/java
下的包一样集成common,如果您希望在maven项目中编译它们,您可以在maven中为GUI创建一个额外的配置文件。谢谢,这似乎很有效。尽管如此,项目之间仍然存在插件、pom和模块关系,我想这是针对其他问题的,但如果您能提供一些基本的指示,说明何时使用什么,那就太好了!谢谢隐马尔可夫模型。。我对这个答案有点困惑。使用Eclipse时,我通常会创建一个新的工作区,然后转到“new project”-->Maven project。您能否修改您的答案以适应Eclipse工作流?那太好了@poseid主项目作为maven项目,其他项目作为maven模块。我已经更新了我的答案,添加了参考资料。
<dependency>
<groupId>org.company</groupId>
<artifactId>common</artifactId>
<version>0.9.0-SNAPSHOT</version>
</dependency>