码迷,mamicode.com
首页 > 其他好文 > 详细

01软件架构师---------分模块和工程做开发

时间:2016-12-19 21:35:06      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:tom   style   shu   cti   com   新建   org   .com   test   

 

我们采用maven的形式来管理项目。

先建立一个父的maven工程:

技术分享

下一步:

技术分享

 

 下一步:

技术分享

然后在生成的

技术分享

pom.xml中修改:

技术分享

表示这是最顶级的父级maven工程。

 

 

然后在这个最顶级的父级maven工程下新建子工程:

右键单击技术分享

技术分享

接下来:

技术分享

接下来;

技术分享

输入artchitecture1.建立子maven的web工程。同理;我们建立以下几个工程:

技术分享

这里解释一下:

artchitecture1是maven的总工程。

下面的都是子工程。

用maven作项目管理有两种思路:

1:一个模块一个maven工程:比如这里的customermgr就是包括了前后端的maven工程。

2:一个模块分为两个maven工程:比如这里的goods(货物)模块:goodsmgr是专门做后台的。goodsmgrweb是专门做前台的。

然后可以把每个工程分给不同的团队来做,

 

 

 

我们知道customermgr和goodssmgrweb都是maven web工程,那么我们就把他们整合到一个war包。在artchitctureweb1中。所以修改artchitctureweb1的pom.xml:如下:

artchitctureweb1的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.sishuok</groupId>
        <artifactId>artchitecture1</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>com.sishuok</groupId>
    <artifactId>artchitecture1web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>artchitecture1web 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.sishuok</groupId>
             <artifactId>customermgr</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>war</type>
        </dependency>



    <dependency>
               <groupId>com.sishuok</groupId>
                <artifactId>goodsmgrweb</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>war</type>
        </dependency>




    </dependencies>
    
    
    
    <build>
        <finalName>artchitecture1web</finalName>
        <plugins>
               <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <!-- 配置好要合并的war的工程 -->
                <configuration>
                    <overlays>
                    <!-- 从custom中提取 -->
                        <overlay>
                          <groupId>com.sishuok</groupId>
                        <artifactId>customermgr</artifactId>
                            
                        </overlay>
                        <!-- 从goodsweb中提取 -->
                            <overlay>
                               <groupId>com.sishuok</groupId>
                               <artifactId>goodsmgrweb</artifactId>
                        </overlay>
                    
                    </overlays>
                </configuration>
            </plugin>
                </plugins>
    </build>
</project>

 

打红色的

  <groupId>com.sishuok</groupId>
  <artifactId>customermgr</artifactId>
都是可以从customermgr中的pom.xml和goodsmgrweb中的pom.xml中复制过来的。

每个工程的pom.xml如下:

customermgr中的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.sishuok</groupId>
    <artifactId>artchitecture1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.sishuok</groupId>
  <artifactId>customermgr</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>customermgr 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>
  </dependencies>
  <build>
    <finalName>customermgr</finalName>
  </build>
</project>
goodsmgrweb中的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.sishuok</groupId>
    <artifactId>artchitecture1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.sishuok</groupId>
  <artifactId>goodsmgrweb</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>goodsmgrweb 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>
  </dependencies>
  <build>
    <finalName>goodsmgrweb</finalName>
  </build>
</project>

 

 

 

测试:

好,我们现在把这些工程都打成war包来试试 看能不能正常运行:

技术分享

单击右键:选择 Run as->install maven

 

然后在

技术分享

 

 

技术分享

 技术分享

 

 上面生成了三个war包。其中artchitecture1web.war就是总的war包。

01软件架构师---------分模块和工程做开发

标签:tom   style   shu   cti   com   新建   org   .com   test   

原文地址:http://www.cnblogs.com/shenxiaoquan/p/6200475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!