vscode如何新建多模块的maven项目?

网上找了好久,几乎不可以,但有时候打开别人写好的多模块项目又可以识别,但自己新建的项目子模块的程序一直不能运行
关注者
9
被浏览
35,745

5 个回答

vscode新建多模块的maven项目指导意见

此方法适用于任何工具构建maven多模块项目

  1. 新建一个maven项目A, 直接添加或修改打包结果为pom文件(不能含有任何java代码)
  2. 新建一个maven项目B, 放到项目A的pom.xml文件的同一目录下
  3. 在项目A的pom.xml文件里面添加如下配置
<modules>
    <module>项目B文件夹名称</module>
</modules>

4. 在项目B的pom.xml文件里面添加如下配置

<parent>
    <groupId>项目A的groupId</groupId>
    <artifactId>项目A的artifactId</artifactId>
    <version>项目A的版本</version>
</parent>

最后文件结构类似:

  • 项目A
    • A的pom.xml
    • A的其他文件
    • 项目B
      • B的pom.xml
      • B的其他文件

随后项目B就继承了项目A的所有依赖环境和默认配置,同时按照此种方式可以添加任意多的类似B项目的子模块.

随后需要解决一个痛点就是子模块和子模块之间如何依赖

假设已经按上述方法配置好了项目ABC,其中A是父pom模块,项目B和项目C都依赖于A

项目B同时还依赖C, 就需要如下操作

  1. 在项目B的pom.xml文件里面找到dependencies节点
  2. 添加一个dependency子节点,里面的内容就是项目C的唯一定位, 比如
<dependency>
    <groupId>项目C的groupId</groupId>
    <artifactId>项目C的artifactId</artifactId>
    <version>项目C的版本</version>
</dependency>

此时, 项目B里面就可以使用项目C里面的public类了

推测应该是maven管理了所有的项目后会根据依赖自动管理如何构建的顺序

指导性质的意见讲解完了, 下面说明一下出处

maven官方网站里面有一个如何构建模块的小节(点下面就是)

进入以后下面有一个更详细的在线example讲解网站的第6章

第6章是多模块的构建,第7章是企业级多模块构建,也就比第6章多了子模块之间如何相互依赖

假如上面写的过程无法理解, 同时英文官方网站又看不进去, 怎么办?

下面提供一个链接,是那个在线example里面的所有例子的zip压缩包, 直接看源代码吧

  • 如果想把项目放到不同的文件夹里面,可以学习一下pom.xml中relativePath节点

模块依赖里面等价写法<module>./项目B文件夹名称</module>

和relativePath节点一样可以是相对或绝对路径, 只要能找到pom.xml文件就好

  • pom项目可以继承pom项目
  • 警告:如果父pom文件里面包含spring-boot的依赖,就不要在父pom或工具包里面添加下面的代码
<build>
		<plugins>