01软件架构师---------分模块和工程做开发
Posted jim_shen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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包。
以上是关于01软件架构师---------分模块和工程做开发的主要内容,如果未能解决你的问题,请参考以下文章