zoukankan      html  css  js  c++  java
  • maven整理

    项目中用到maven,多模块的项目关联。结构图在以下...


    parent项目中pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    	<parent>
    		<groupId>com.suning.framework</groupId>
    		<artifactId>snf-parent</artifactId>
    		<version>2.2.54</version>
    	</parent>
    	<artifactId>ott-pom</artifactId>
    	<name>ott-pom</name>
    	<groupId>com.suning.ebuy.ott</groupId>
    	<version>0.0.1</version>
    	<strong><packaging>pom</packaging></strong>
    <span style="white-space:pre">	</span>...
    <span style="white-space:pre">	</span><modules>
    		<module>../ott-intf</module>
    		<module>../ott-service</module>
    		<module>../ott-web-in</module>
    		<module>../ott-web</module>
    	</modules>

    当中<packaging>pom</packaging>这个父项目不像之前的项目那样创建一个JAR 或者一个WAR。它不过一个引用其他Maven 项目的POM。pom.xml 中的modules标签列出了子模块项目,每一个modules 元素相应了一个simple-parent/文件夹下的子文件夹。

    Maven知道去这些子文件夹寻找pom.xml 文件,而且。在构建的simp-parent 的时候,它会将这些子模块包括到要构建的项目中。


    然后在子项目中配置parent项目的信息,就能实现模块间的关联了。如:

    ott-service项目中的pom.xml文件

    ...
    <artifactId>ott-service</artifactId>
    	<name>ott-service</name>
    	<packaging>jar</packaging>
    	<<strong>parent</strong>>
    		<groupId>com.suning.ebuy.ott</groupId>
    		<artifactId>ott-pom</artifactId>
    		<version>0.0.1</version>
    		<relativePath>../ott-pom/pom.xml</relativePath>
    	</parent>
    <span style="white-space:pre">	</span>...

    当Maven 运行一个带有子模块的项目的时候。Maven 首先加载父POM,然后定位全部的子模块POM。Maven 然后将全部这些项目的POM 放入到一个称为Maven 反应堆(Reactor)的东西中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。

        父pom.xml进行完毕多个子项目的关联后,就能够分别进入某个单独的模块和编译使用






  • 相关阅读:
    Docker 中 MySql 启动失败,报错 Can't open and lock privilege tables: Table storage engine for 'user'
    使用命令行编译和运行Java代码
    Linux编程--进程间通信
    Linux编程--信号
    HDU 2159 完全背包
    HDU 2844 多重背包
    hdu 2602 dp 01背包
    hdu 1864 01背包
    JSON学习
    Django Cookie
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6763096.html
Copyright © 2011-2022 走看看