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包。

时间: 2024-10-10 17:39:34

01软件架构师---------分模块和工程做开发的相关文章

SpringBoot23 分模块开发

1 开发环境说明 JDK:1.8 MAVEN:3.5 IDEA:2017.2.5 SpringBoot:2.0.3.RELEASE 2 创建SpringBoot项目 2.1 项目信息 2.2 添加项目依赖 2.3 修改pom文件 添加lombok依赖.修改devtools.修改plugin <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.

spring+springmvc+hibernate架构、maven分模块开发例子小项目案例

maven分模块开发例子小项目案例 spring+springmvc+hibernate架构 以用户管理做测试,分dao,sevices,web层,分模块开发测试!因时间关系,只测查询成功,其他的准备在ext上做个完整的案例来的,可惜最近时间很紧, 高级部分也没做测试,比如建私服,其他常用插件测试之类的,等用时间了我做个完整ext前端和maven 完整的例子出来,在分享吧! 不过目前这些撑握了,在项目中做开发是没有问题的,其他高级部分是架构师所做的. 之前我有的资源都加上了积分,有些博友向我要,

spring+springmvc+hibernate架构、maven分模块开发样例小项目案例

maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准备在ext上做个完整的案例来的,可惜近期时间非常紧. 高级部分也没做測试,比方建私服,其它经常使用插件測试之类的,等用时间了我做个完整ext前端和maven 完整的样例出来,在分享吧. 只是眼下这些撑握了.在项目中做开发是没有问题的,其它高级部分是架构师所做的. 之前我有的资源都加上了积分,有些博友

SSH框架分模块开发

------------------siwuxie095 SSH 框架分模块开发 1.在 Spring 核心配置文件中配置多个内容,容易造成 配置混乱,不利于维护 「分模块开发主要针对 Spring 核心配置文件」 2.把 Spring 核心配置文件中的一部分配置放到单独的 配置文件中,再在 Spring 核心配置文件中引入单独的配 置文件即可 3.一般情况下,建议把 Action 对象的配置放到单独的 配置文件中 「因为其它的配置基本不变,只有 Action 对象的配置在 不断重复」 如: u

Maven分模块分工程管理

分模块分工程的作用是为了将工作可以细化到每个工作组,最后可以统一的整合项目.且每个单独的module可以独立运行调试. 顶级项目为project,子项目为module. 1.创建maven project顶级项目并修改 <packaging>的jar为pom 2.在其他子项目pom.xml加入<parent></parent>并填写相关信息 3.在上级项目pom.xml中填写子项目<modules></modules> 4.在整合的module的

Android Studio分模块自动化构建实战

Android Studio分模块自动化构建实战 @author ASCE1885的 Github 简书 微博 CSDN 最近在使用Android Studio+Gradle做一个基础框架SDK项目,该框架主要实现每个app都需要的基础能力,例如网络请求,图片缓存,json解析,日志记录等等. 众所周知,AndroidStudio中应该尽量使用Module来进行模块的划分,既能达到模块解耦的目的,也能在必要的时候轻松实现分模块打包,特别是在SDK项目中.那么什么是分模块打包呢?就是我们可以根据第

[开源项目-MyBean轻量级配置框架] 使用MyBean快速搭建分模块的应用程序(主页面的TAB)(DLL-MDI)

[概述] 抱歉由于上次开源比较匆忙,没有来的及做一个DEMO,里面也有些垃圾的文件没有及时清理.DEMO其实昨天晚上已经调通.相关说明文档今天晚上才说明好,欢迎大家继续关注和交流,和大家一起分享我10多年的管理软件框架开发经验,后续会完善更多相应的有用的插件,供大家直接使用. [DEMO图片预览] [MDI-DEMO-BIN文件说明] 编译好的文件打包存放于根目录下面,文件名为:MDI-DEMO-BIN.zip,采用XE5编译,使用标准控件,其他版本编译myBeanConsole.exe和plu

Python+request 分模块存放接口,多接口共用参数URL、headers的抽离,添加日志打印等《三》

主要介绍内容如下: 1.分模块存放接口 2.多接口共用参数URL.headers的抽离为配置文件 3.添加日志打印 4.一个py文件运行所有所测的接口 如上介绍内容的作用: 1.分模块存放接口:方便多人协作,对模块接口的分开存放,方便后期新增模块接口的录入,也方便接口出现报错后,定位模块 2.多接口共用参数URL.headers的抽离为配置文件: (1)URL:单独进行配置文件中的修改,主要是方便后期接口域名出现变化,方便更改,示例,本次URL前缀为:https://127.0.0.1,下次开发

从高处理解android与服务器交互(看懂了做开发就会非常的容易)

今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高度去做客户端开发会对开发的提高有十倍甚至百倍的效果.我希望更多的人能理解更多的人能收到帮助.所以把这个总结了一下发布出来. 首先:我介绍下服务器的一些东西 服务器开发是一门很深的学问不是一句话两句话能理解的,至少比android开发要复杂很多倍,至少想开发好是非常难的.这里只讲android需要理解