`
adapterofcoms
  • 浏览: 74648 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Maven Multi-module Inheritance

 
阅读更多

 

所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.

 

1.聚合 POM与继承关系中的父POM的 packaging都是pom
2.聚合模块与继承关系中的父模块除了 POM之外都没有实际的内容。

注:在现有的实际项目中一个 POM既是聚合POM,又是父 POM,这么做主要是为了方便
http://juvenshun.iteye.com/blog/305865

In eclipse Run As -->maven build :  deploy -e
在parent pom.xml中
<modules>
    <module>../childModuleName</module>
    ......
  </modules>
在child pom.xml中
<parent>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>
对parent  maven build 会build all modules.

maven build in eclipse:
Run As/Debug As--> maven clean, install, deploy ......  tomcat:run/tomcat7:run...

tomcat7-maven-plugin / maven-jetty-plugin  maven-eclipse-plugin

maven-resources-plugin #for mybatis.mapper.xml
<plugin> 
            <artifactId>maven-resources-plugin</artifactId> 
            <version>2.7</version> 
            <executions> 
                <execution> 
                    <id>copy-xmls</id> 
                    <phase>process-sources</phase> 
                    <goals> 
                        <goal>copy-resources</goal> 
                    </goals> 
                    <configuration> 
                        <outputDirectory>${basedir}/target/classes</outputDirectory> 
                        <resources> 
                            <resource> 
                                <directory>${basedir}/src/main/java</directory> 
                                <includes> 
                                    <include>**/*.xml</include><!--e.g: mybatis.mapper.xml-->
                                    <!--other res type-->
                                </includes> 
                            </resource> 
                        </resources> 
                    </configuration> 
                </execution> 
            </executions> 
        </plugin>

Struts2 scanning the actions in Jars:
<!--XXX-*-web-0.0.1-SNAPSHOT.jar-->   
 <constant name="struts.convention.action.includeJars" value=".*?/XXX-.+?-web.*?\.jar(!/)?"/>
并且XXX-*-web-0.0.1-SNAPSHOT.jar中必须包含标准META-INF/MANIFEST.MF
-----------------------------------------------------------------------------------------------------------

分享到:
评论

相关推荐

    Apache.Maven.Cookbook.1785286129

    Over 90 hands-on recipes to successfully build and automate development life cycle tasks ...Chapter 9: Multimodule Projects Chapter 10: Java Development with Maven Chapter 11: Advanced Maven Usage

    apache-maven-3.6.1.zip

    6. **多模块项目 (Multi-module Projects)**: Maven支持多模块项目结构,一个父POM可以管理多个子模块,便于大型项目的构建和管理。 7. **聚合与继承 (Aggregation & Inheritance)**: 聚合允许将多个Maven项目组合...

    maven_3.6.1.rar

    多模块项目(Multi-module projects) 大型项目往往采用多模块结构,通过在顶层POM定义子模块,可以实现整个项目的统一管理和构建。 ### 9. 配置管理 Maven允许通过POM文件或settings.xml进行配置,如编译时的源...

    maven-multi-modules:使用Maven处理多个Java模块架构

    除了基本的构建功能,Maven还支持多种高级特性,如聚合(aggregation)、继承(inheritance)和依赖管理(dependency management)。聚合允许在一个POM中执行所有子模块的构建操作,而继承使得子模块可以共享父项目...

    maven已编译包

    - **多模块项目支持 (Multi-module Projects)**:允许在一个父POM下管理多个子模块,便于大型项目的构建。 - **聚合与继承 (Aggregation & Inheritance)**:通过继承,子项目可以共享父项目的配置,而聚合则可以一...

    Maven - The Complete Reference

    3. **多模块项目(Multimodule)**: Maven支持多模块项目结构,每个模块有自己的POM,共同构成一个大的项目。 4. ** profiles**: Maven的profile机制允许根据不同的环境(如开发、测试、生产)进行配置切换。 ** ...

    Maven入门到精通

    5. **多模块项目(Multi-module Projects)**:一个Maven项目可以包含多个模块,通过设置parent POM来管理。 通过深入学习和实践,开发者能充分利用Maven的这些功能,提高开发效率,实现项目的标准化管理和自动化...

    Maven权威指南中文完整版清晰

    1. **多模块项目(Multi-module Projects)**:Maven支持构建复杂的多模块项目,一个父POM管理多个子模块的POM。 2. **聚合与继承(Aggregation & Inheritance)**:聚合允许多个项目一起构建,继承则可以共享部分...

    maven电子书

    3. **多模块项目 (Multi-module projects)**:对于大型项目,可以通过组织多个模块来管理,每个模块有自己的POM,而总POM则负责聚合和继承。 4. **远程仓库与镜像 (Remote Repositories and Mirrors)**:Maven可以...

    Maven的使用示例

    4. **多模块项目(Multi-module Projects)**:大型项目可以分解为多个模块,每个模块都有自己的POM,Maven可以一次性处理整个项目的所有模块。 5. **远程仓库配置**:除了中央仓库,还可以配置企业内部的私有仓库...

    curs-Maven

    - **使用模块化项目**:对于大型项目,可采用多模块(multi-module)结构,每个模块负责一部分功能。 - **管理版本号**:遵循语义版本(Semantic Versioning)原则,合理规划项目的版本迭代。 6. Maven的高级特性...

Global site tag (gtag.js) - Google Analytics