• MAVEN项目模块化


    maven的最大的特点之中的一个就是能够把项目模块化。

    前面的一篇文章MAVEN创建并打包web项目已经创建了一个简单的webapp,注意这个webapp的打包方式是war。

    假设如今又要划分出来一个模块,而webapp依赖这个新划分的模块。应该怎么做呢,磨叽!

    首先创建一个maven module。它的parent是test。不能是其它的,由于仅仅有test的打包方式是pom。例如以下图所看到的:


    模块test_module的打包方式选择jar,可是虽然已经选择了,在自己主动生成的test_module/pom.xml中打包方式依旧没指明,须要手动加入,例如以下图所看到的:


    以下须要把test_module作为test_web的依赖。操作例如以下:


    操作完毕后例如以下图,如今新的模块已经加入完毕了。


    MAVEN创建并打包web项目中的打包方式是用命令行,显然比較麻烦。那么我们能够使用eclipse来打包。


    依照上图选择maven build,会进入下图所看到的goals设置界面,把之前运行的mvn  clean package命令输入就能够了。


    再次点击之前点击的maven build控制台就開始运作了:


    细心的人会发现有个maven install,事实上这个也是能够打包的,点击它后控制台的信息例如以下:

    [INFO] Building war: F:wangpengMyRprojects	est	est_web	arget	est_web.war
    [INFO] WEB-INFweb.xml already added, skipping
    [INFO] 
    [INFO] --- maven-install-plugin:2.4:install (default-install) @ test_web ---
    [INFO] Installing F:wangpengMyRprojects	est	est_web	arget	est_web.war to C:Userswangpeng.m2
    epositorycomwangpeng	estmaven	est_web.0.1-SNAPSHOT	est_web-0.0.1-SNAPSHOT.war
    [INFO] Installing F:wangpengMyRprojects	est	est_webpom.xml to C:Userswangpeng.m2
    epositorycomwangpeng	estmaven	est_web.0.1-SNAPSHOT	est_web-0.0.1-SNAPSHOT.pom
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] test .............................................. SUCCESS [  0.429 s]
    [INFO] test_module ....................................... SUCCESS [  1.119 s]
    [INFO] test_web Maven Webapp ............................. SUCCESS [  0.491 s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2.154 s
    [INFO] Finished at: 2015-08-13T17:31:22+08:00
    [INFO] Final Memory: 11M/153M
    [INFO] ------------------------------------------------------------------------
    注意Installing那一行。说明此命令不仅是打包。他会把打好的包拷贝到本地仓库。看一下我的仓库:


    打开那个war包。进入WEB-INF/lib,你会发现test_module已经打包成jar作为war的一部分了。




  • 相关阅读:
    C#(99):Queue<T>队列与Stack<T>堆栈
    C#(99):字典Dictionary<Tkey.TValue>与SortedList
    C#(99):列表:List<T>与HashSet和只读集合
    C#(99):C#数组Array
    C#(99):枚举类型与位域枚举Enum
    C#(99):结构类型:Struct
    C#(99):定义类成员(属性、方法、索引、运算符、事件)、接口实现
    C#(99):定义类、System.Object对象、构造函数与析构函数、抽象类与静态类
    SuperSocket.ClientEngine介绍
    C#(99):五、并行编程
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6884801.html
Copyright © 2020-2023  润新知