How do I build more than one project at once?
The concept of dealing with multiple modules is built in to Maven 2.0. In this section, we will show how to build the WAR above, and include the previous JAR as well in one step.
Firstly, we need to add a parent pom.xml file in the directory above the other two, so it should look like this:
+- pom.xml
+- my-app
| +- pom.xml
| +- src
| +- main
| +- java
+- my-webapp
| +- pom.xml
| +- src
| +- main
| +- webapp
The POM file you'll create should contain the following:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>app</artifactId>
<packaging>pom</packaging>
<modules>
<module>my-app</module>
<module>my-webapp</module>
</modules>
</project>
We'll need a dependency on the JAR from the webapp, so add this to my-webapp/pom.xml:
...
<dependencies>
<dependency>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
...
</dependencies>
Finally, add the following <parent> element to both of the other pom.xml files in the subdirectories:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>app</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
...
Now, try it... from the top level directory, run:
mvn clean install
The WAR has now been created in my-webapp/target/my-webapp.war, and the JAR is included:
$ jar tvf my-webapp/target/my-webapp-1.0-SNAPSHOT.war
0 Fri Jun 24 10:59:56 EST 2005 META-INF/
222 Fri Jun 24 10:59:54 EST 2005 META-INF/MANIFEST.MF
0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/
0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/
0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/
3239 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.xml
0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/
215 Fri Jun 24 10:59:56 EST 2005 WEB-INF/web.xml
123 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.properties
52 Fri Jun 24 10:59:56 EST 2005 index.jsp
0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/
2713 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/my-app-1.0-SNAPSHOT.jar
分享到:
相关推荐
这个“在一个项目中,建立多个工程文件多个目录创建方法的源代码”压缩包可能包含了解决此类问题的具体实现。下面将详细解释相关知识点。 首先,让我们了解Qt和它的工程文件系统。Qt是一个跨平台的应用程序开发框架...
### iFix 如何建立多个工程:详尽指南 在工业自动化领域,iFix 是一个广泛使用的监控和数据采集(SCADA)系统,它允许工程师和操作员监控、控制和优化工业过程。本文将深入探讨如何在 iFix 中建立多个工程,以适应...
本教程将详细介绍如何在iFix中创建和管理多个工程,帮助用户更有效地进行设备监控和生产管理。 首先,我们需要理解“工程”在iFix中的概念。一个iFix工程是系统的基本工作单元,包含了所有的项目文件、配置信息、...
在某些项目中,我们可能需要在一个工程中同时处理多个目标文件,以便为不同的平台或处理器编译相同的代码。下面将详细介绍如何在Keil μVision中创建一个单工程多目标的工程,并生成不同平台下的目标文件。 1. **...
本篇文章将深入探讨如何使用`CMake`创建一个多工程的例子,结合`Qt`这一流行的图形界面库。 首先,我们要理解`CMake`的基本概念。`CMake`并不直接构建项目,而是生成特定平台的构建系统所需的文件,如Unix ...
Qt Creator,作为Qt的主要集成开发环境,支持创建和管理多个工程。在项目设置中,可以通过添加新的子项目或外部项目来构建复杂的工程结构。每个子项目可以是应用程序、库(静态库或动态库)或其他类型的Qt工程。 2...
在多工程多目录的场景下,我们可能有多个`.pro`文件,每个文件管理一部分代码。例如,一个项目可能包含用户界面工程、业务逻辑工程、数据存储工程等,每个工程都在各自的目录下,拥有独立的`.pro`文件。 创建多工程...
### Altium Designer中一个项目内多个原理图与多个PCB的一一对应方法 #### 背景介绍 在进行大规模电路板设计时,通常会遇到一个项目中包含多个原理图和多个PCB的情况。为了更好地组织和管理这些文件,Altium ...
这表明我们要创建的是一个基于TMS320F28335的DSPBios工程,这个工程将作为一个模板,方便后续的项目开发。在创建过程中,我们需要配置硬件设置,包括时钟、外设接口等,以确保系统能够正常运行。 接下来,描述中...
在Qt中,一个工程(Project)通常代表一个单独的可执行文件或库,而模块(Module)则是项目中的逻辑分组,可能包含多个类或功能相关的源文件。通过合理划分工程和模块,可以有效地提高代码的复用性和可读性。 在Qt ...
在Qt开发过程中,有时我们需要构建复杂的项目结构,涉及到多个工程之间的相互依赖,或者需要创建动态库来供其他项目使用。本教程将详细讲解如何进行QT跨目录编译以及多工程集成,重点在于动态库的创建、引用以及pro...
- **模块化**:当资源需要在多个工程中复用时,可以将它们放在单独的rc文件中,方便共享。 - **版本控制**:独立的rc文件更便于版本控制,减少冲突的可能性。 总之,通过在VC6工程中支持多个rc文件,我们可以更好地...
8. **项目构建顺序**:大型工程可能包含多个子工程,正确设定构建顺序,确保依赖关系得到满足。 9. **工程组织**:良好的文件组织结构能提升代码的可维护性,可以按照功能模块、驱动、库等分类存放源文件。 最后,...
在使用Microsoft Visual C++ 6.0(简称VC6)时,用户可能会遇到一个问题:无法通过双击.DSW(Visual Studio Workspace)文件来同时打开多个工程。这个问题对于需要同时管理多个项目的开发者来说非常不便。标题和描述...
工作区是管理多个相关工程的容器。在IAR IDE中,可以从"File"菜单中选择"Open",然后选择"Workspace"来新建一个工作区。这将打开一个空白的工作区,为后续的工程创建提供平台。 接下来,我们需要创建一个新的工程。...
在Android开发中,有时我们需要将多个相互依赖的工程合并成一个单一的APK,以便用户可以更方便地安装和使用。...通过合理配置和调整,我们可以创建一个包含多个功能模块的大型应用,提供给用户更便捷的使用体验。
总之,创建Keil51单片机工程文件的过程涉及多个环节,从软件启动、工程创建、单片机型号选择、工程配置、源文件添加,到最后的编译连接,每一步都至关重要。遵循上述步骤,结合个人实践和不断学习,将能有效提升51...
在Microsoft Visual C++ 6.0(简称VC6)中,用户可能会遇到一个问题:当尝试双击源码文件(如`.cpp`或`.h`)时,无法成功打开多个工程。这个问题通常与VC6的集成开发环境(IDE)设置、注册表配置或系统兼容性有关。...
在VB(Visual Basic)编程环境中...总的来说,多文档VB工程涉及到了窗体设计、事件处理、文件操作、窗口管理等多个方面的知识。通过理解并掌握这些概念和技术,开发者可以创建出功能丰富的、用户友好的多文档应用程序。
RTX51 Tiny允许创建多个任务,通过优先级分配来决定任务的执行顺序。在示例工程中,可能会展示如何定义和注册任务,以及如何设置和调整任务优先级。 3. **信号量与同步**: 信号量是RTOS中的一个重要概念,用于...