Maven多模块项目新建技巧-解决公共项目install之后可以在单独模块中直接编译
2018-01-17 17:09
357 查看
说明:如果按照这种方式http://www.cnblogs.com/EasonJim/p/8303878.html,且按照常规的install方式在子项目中编译项目,那么需要先install一下parent项目,最后才能编译子项目。这种方式其实不太好,每次都intall一大堆项目,所以为了解决这种重的方式,可以只install公共模块,然后使其单独能编译子项目。
解决方式:
1、在常规新建的多模块项目(http://www.cnblogs.com/EasonJim/p/6863987.html)时,把公共模块的pom的parent节点去除即可。比如样例工程bus-core-api下的pom如下:
去除了parent节点后是这样的:
那么这样操作之后,直接install了bus-core-api之后就可以单独编译app-desktop-ui等项目。
注意:子模块去除了parent节点之后,随着而来的特性也会丢失,比如在父项目定义的配置项,那么也不能使用,比如父项目增加的包,那么在子项目也不能继承使用,只能单独自己引入。
测试工程:https://github.com/easonjim/5_java_example/tree/master/maventest/test10/testproject
解决方式:
1、在常规新建的多模块项目(http://www.cnblogs.com/EasonJim/p/6863987.html)时,把公共模块的pom的parent节点去除即可。比如样例工程bus-core-api下的pom如下:
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.jsoft.test</groupId> <artifactId>testproject</artifactId> <version>1.0-SNAPSHOT</version> </parent> <groupId>com.jsoft.test</groupId> <artifactId>bus-core-api</artifactId> <version>1.0-SNAPSHOT</version> <name>bus-core-api</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
去除了parent节点后是这样的:
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>com.jsoft.test</groupId> <artifactId>bus-core-api</artifactId> <version>1.0-SNAPSHOT</version> <name>bus-core-api</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
那么这样操作之后,直接install了bus-core-api之后就可以单独编译app-desktop-ui等项目。
注意:子模块去除了parent节点之后,随着而来的特性也会丢失,比如在父项目定义的配置项,那么也不能使用,比如父项目增加的包,那么在子项目也不能继承使用,只能单独自己引入。
测试工程:https://github.com/easonjim/5_java_example/tree/master/maventest/test10/testproject
相关文章推荐
- 解决 在IDEA中使用Maven和Scala新建项目没有自动产生src 以及spark的编译运行配置
- Jenkins构建Maven多模块项目时,单独编译子模块,并且不触发构建其它模块
- Maven多模块项目单独编译子模块项目时报错:Failed to execute goal on project/Could not resolve dependencies for project
- Eclipse j2ee中搭建新建maven项目后运行install报编译错误
- 解决maven项目install之后报出Perhaps you are running on a JRE rather than a JDK?错误
- 百度CDN公共库可以直接用在自己的项目中
- 创建maven项目,有3个目录没有显示,也新建不了,解决
- Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创
- 新建maven项目时pom.xml文件第一行报org.apache.maven.plugin.war.WarMojo的解决方法
- 4000 用vue手脚架生成的项目直接修改时.vue文件后,保存编译就报一大堆的错,解决方法:
- Idea maven项目不能新建package和class的解决
- 转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决
- 解决eclipse新建maven项目时 pom.xml 文件报错问题
- Maven学习笔记——新建maven web项目缺失文件夹的问题解决
- 【Maven实用技巧】01. 命令行新建一个Android项目,并使用Maven管理
- 新建maven管理的web项目,java目录不全的问题解决方法
- Maven新建项目出现 Could not calculate build plan:plugin 错误解决办法
- 解决intellij idea新建maven项目,加载archetype模型很慢
- Idea maven项目不能新建package和class的解决