1.创建一个多模块的Java项目

shift+鼠标右键

创建项目命令:

旧版:

mvn archetype:create -DgroupId=com.qhong -DartifactId=MavenParent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

新版:

mvn archetype:generate -DgroupId=com.qhong -DartifactId=MavenParent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

发现就改变一个单词,新版创建的速度真是太慢了

用旧版方式创建报错:

网上进行查找,发现在maven3.0.5以上版本舍弃了create,使用generate生成项目,我的是3.3.9版本,所以。。。

新版创建成功

创建的MavenParent项目中的pom.xml

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qhong</groupId>
<artifactId>MavenParent</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenParent</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

现在修改打包方式为pom

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qhong</groupId>
<artifactId>MavenParent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenParent</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

现在在MavenParent文件夹内部再次创建项目Service,不得不说,真慢!

mvn archetype:generate -DgroupId=com.qhong -DartifactId=Service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

在创建一个Web,

mvn archetype:generate -DgroupId=com.qhong -DartifactId=Web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false  

查看MavenParent的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qhong</groupId>
<artifactId>MavenParent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenParent</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<modules>
<module>Service</module>
<module>Web</module>
</modules>
</project>

发现多了modules

现在一个多模块项目就创建好了,MavenParent中的src文件没有用,可以删除了。

用idea打开,查看整个结构:

Service项目的pom.xml

<?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.qhong</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.qhong</groupId>
<artifactId>Service</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Service</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

修改Web的pom.xml,使其依赖Service项目

<?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.qhong</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.qhong</groupId>
<artifactId>Web</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Web Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.qhong</groupId>
<artifactId>Service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>Web</finalName>
</build>
</project>

对Service进行安装

下面对web项目进行打包,部署

把打包好的Web.war包放在tomcat9的webapp下

发现Web.war放下后会自动解压

访问url

http://www.cnblogs.com/tonychai/p/4538683.html

http://www.cnblogs.com/xdp-gacl/p/4240930.html

Maven 命令操作项目的更多相关文章

  1. maven命令创建项目

    1)创建一个Project mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArti ...

  2. 使用maven 命令运行项目

    安装好maven3 配置好环境变量后, 输入mvn -v 查看安装是否成功, 然后导入maven项目, 选择import 导入选择Exsting Maven Projects, 接下来就准备运行一下m ...

  3. 解决idea中执行maven命令失败的问题

    1.问题描述 如上图所示,在使用idea 里的maven命令执行项目打包时,有时候会报如下一个错误. -Dmaven.multiModuleProjectDirectory system proper ...

  4. Maven-通过命令操作maven项目

    用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId ...

  5. maven archetype:generate 命令简化项目模板数量

    在maven里使用 mvn archetype:generate 来创建项目是十分方便的,但有时也不尽然.在网络不好时,从网络上加载 archetype-catalog.xml文件(http://re ...

  6. Eclipse+Maven命令创建webapp项目<三>

    1.使用maven命令:mvn archetype:create -DgroupId=xxxxx -DartifactId=web-sample -DarchetypeArtifactId=maven ...

  7. maven(02)--简单的命令操作

    使用maven有什么好处呢? 这个问题留到该文的末尾进行总结>v< maven测试 在上一篇文章中介绍了如何简单的编译一个java文件,执行mvn compile命令后,你会发现在你新建的 ...

  8. Maven命令行创建java或javaWeb项目

    Maven命令行创建java或javaWeb项目   1.命令行创建普通java项目 mvn archetype:generate -DgroupId=com.fxust -DartifactId=d ...

  9. 不使用IDE,用maven命令打包war项目及出现的问题解决(最全攻略,亲测有效)

    第一次在博客园写博客,写的不好大家见谅啊!! 一.首先,在用maven打包之前,一定确认好你使用的jdk版本和maven的版本,最好就是用jdk1.8和maven3.3以上的,版本太低了容易出现一些意 ...

随机推荐

  1. iOS 用宏定义写一个单例(Singleton)

    用如下方法定义单例 @interface singleton_interface(ClassName); @end 实现单例在 @implemention singleton_implemention ...

  2. 针对css3特性浏览器兼容 封装less

    //--------------------------------------------------- // LESS Prefixer //--------------------------- ...

  3. 2016.09.14,英语,《Using English at Work》全书笔记

    半个月时间,听完了ESLPod出品的<Using English at Work>,笔记和自己听的时候的备注列在下面.准备把每个语音里的快速阅读部分截取出来,放在手机里反复听. 下一阶段把 ...

  4. laravel url() 和 asset() 的区别

    asset()方法用于引入 CSS/JavaScript/images 等文件,文件必须存放在public文件目录下.url()方法生成一个完整的网址.

  5. Nginx Location 语法,与简单配置[转]

    一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 ...

  6. 验证码识别 edge enhancement - 轮廓增强 region finding - 区域查找

    Computer Science An Overview _J. Glenn Brookshear _11th Edition The task of understanding general im ...

  7. cursor:pointer

    .cursor_hand{ cursor:pointer; }

  8. Java Map遍历方式的选择

    [原文] 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keyS ...

  9. http://d3js.org/

    http://d3js.org/ http://www.ourd3js.com/wordpress/?p=51 http://www.ourd3js.com/wordpress/?p=104file: ...

  10. hdc cdc

    CWindowDC dc(this); HDC hdc=dc.GetSafeHdc(); using namespace Gdiplus; Graphics graphics(hdc); graphi ...