所有用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
-----------------------------------------------------------------------------------------------------------
相关推荐
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
6. **多模块项目 (Multi-module Projects)**: Maven支持多模块项目结构,一个父POM可以管理多个子模块,便于大型项目的构建和管理。 7. **聚合与继承 (Aggregation & Inheritance)**: 聚合允许将多个Maven项目组合...
多模块项目(Multi-module projects) 大型项目往往采用多模块结构,通过在顶层POM定义子模块,可以实现整个项目的统一管理和构建。 ### 9. 配置管理 Maven允许通过POM文件或settings.xml进行配置,如编译时的源...
除了基本的构建功能,Maven还支持多种高级特性,如聚合(aggregation)、继承(inheritance)和依赖管理(dependency management)。聚合允许在一个POM中执行所有子模块的构建操作,而继承使得子模块可以共享父项目...
- **多模块项目支持 (Multi-module Projects)**:允许在一个父POM下管理多个子模块,便于大型项目的构建。 - **聚合与继承 (Aggregation & Inheritance)**:通过继承,子项目可以共享父项目的配置,而聚合则可以一...
3. **多模块项目(Multimodule)**: Maven支持多模块项目结构,每个模块有自己的POM,共同构成一个大的项目。 4. ** profiles**: Maven的profile机制允许根据不同的环境(如开发、测试、生产)进行配置切换。 ** ...
5. **多模块项目(Multi-module Projects)**:一个Maven项目可以包含多个模块,通过设置parent POM来管理。 通过深入学习和实践,开发者能充分利用Maven的这些功能,提高开发效率,实现项目的标准化管理和自动化...
1. **多模块项目(Multi-module Projects)**:Maven支持构建复杂的多模块项目,一个父POM管理多个子模块的POM。 2. **聚合与继承(Aggregation & Inheritance)**:聚合允许多个项目一起构建,继承则可以共享部分...
3. **多模块项目 (Multi-module projects)**:对于大型项目,可以通过组织多个模块来管理,每个模块有自己的POM,而总POM则负责聚合和继承。 4. **远程仓库与镜像 (Remote Repositories and Mirrors)**:Maven可以...
4. **多模块项目(Multi-module Projects)**:大型项目可以分解为多个模块,每个模块都有自己的POM,Maven可以一次性处理整个项目的所有模块。 5. **远程仓库配置**:除了中央仓库,还可以配置企业内部的私有仓库...
- **使用模块化项目**:对于大型项目,可采用多模块(multi-module)结构,每个模块负责一部分功能。 - **管理版本号**:遵循语义版本(Semantic Versioning)原则,合理规划项目的版本迭代。 6. Maven的高级特性...