一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情。
由于我们现在都是模块化的开发,一个项目存在多个子模块,如果模块之间存在依赖关系,则需要在该模块上引入要依赖的模块,如何引入呢?
首先我们需要在项目pom文件下写入
<groupId>com.xxx</groupId>
<artifactId>com-xxx</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>com-xxx</name>
<description>项目名描述</description>
当做parent,在idea中建立子模块引入该parent,pom上会出现一个标志表示哪些模块引入了该pom,这里注意里的是pom不是jar,因为这个pom只是将模块中共同依赖的jar引入来减少配置,所以是不包含代码的,或者你可以这么看,就是你打包的时候,你的包不是在项目下的,而是在某个启动模块下的;
对于子模块我们一般引入父级配置,
<parent>
<groupId>com.xxx</groupId>
<artifactId>com-xxx</artifactId>
<version>1.0.0</version>
</parent>
然后定义我们的模块名com-common;如果需要引入我们的子模块,可以通过,类似于引入仓库的jar,对于被引入的模块我们需要在开始将该模块的pom变为
<groupId>com.xxx</groupId>
<artifactId>com-api</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<description>api模块</description>
这样就会将该模块的jar包在编译的时候打出来以便给其他模块引用,这里需要注意,当你的包变更后需要放入仓库给其他项目使用,你的版本号应该递增,这样就可以引入了,递增是规范, 最后我们应该看下我们的项目pom(父)有没有引入对应的模块名,因为一般我们的模块新建的时候idea会自动帮我们在父pom上添加,如果没有我们补上即可
<modules>
<module>com-api</module>
<module>com-common</module>
</modules>
至此我们的项目就完成了构建工作,如果我们想把模块放到远程仓库上,得改下配置地址,这个就不说了,还有我们的pom文件也得加上配置,
<distributionManagement>
<repository>
<id>xxx-releases</id>
<url>xxx/</url> </repository>
<snapshotRepository>
<id>xxx-snapshots</id>
<url>xxx-snapshots/</url>
</snapshotRepository>
</distributionManagement>
还有一些细节方面的,比如doc和源码的同时上传需要用的一些插件,最后主要在idea右侧执行deploy,将包传上去,
当然你也可以命令行mvn deploy ;
撒花,完结!!!