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


    我们采用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包。

  • 相关阅读:
    053389
    053388
    053387
    053386
    053385
    Docker简单部署Ceph测试集群
    docker部署Ceph分布式存储集群
    PIC单片机开发环境MPLAB X IDE
    MPLAB X安装,PIC单片机开发环境的搭建记录。
    MPLAB X IDE开发环境
  • 原文地址:https://www.cnblogs.com/shenxiaoquan/p/6200475.html
Copyright © 2020-2023  润新知