Eclipse下使用maven搭建多模組專案
阿新 • • 發佈:2019-01-03
暫時將專案分為如下幾層:
domain(域模型層)、dao(資料庫訪問層)、service(業務邏輯層)、web(表現層),有需要再另行新增(如common等);
目錄結構:
一、app
該層為父層,管理其它模組層。1.1 建立Maven Project
1.2 選擇maven-archetype-quickstart
1.3 刪除src資料夾,修改pom.xml檔案,將<packaging>jar</packaging>修改為<packaging>pom</packaging>,pom表示它是一個被繼承的模組
修改之後的配置檔案:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.bdong</groupId> <artifactId>app</artifactId> <version>0.0.1-SNAPSHOT</version> <name>app</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <span style="color:#ff0000;"><strong><packaging>pom</packaging></strong></span> <modules> <module>app-domain</module> <module>app-dao</module> <module>app-service</module> <module>app-web</module> </modules> </project>
二、app-domain
2.1 建立Maven Module
2.2 選擇maven-archetype-quickstart
2.3 修改app-domain目錄中的pom.xml檔案,把<groupId>com.bdong</groupId>和<version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,groupId和version會繼承app中的groupId和version,packaging設定打包方式為jar
修改後的配置檔案:
<?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.bdong</groupId> <artifactId>app</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>app-domain</artifactId> <strong><span style="color:#ff0000;"><packaging>jar</packaging></span></strong> <name>app-domain</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project><strong> </strong>
三、app-dao
3.1 建立Maven Module
3.2 選擇maven-archetype-quickstart
3.3 修改app-dao目錄中的pom.xml檔案,,把<groupId>com.bdong</groupId>和<version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,因為groupId和version會繼承app中的groupId和version,packaging設定打包方式為jar,同時新增對app-domain模組的依賴
修改後的配置檔案:<?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.bdong</groupId> <artifactId>app</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>app-dao</artifactId> <packaging>jar</packaging> <name>app-dao</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!--依賴app-domain模組--> <dependency> <groupId>com.bdong</groupId> <artifactId>app-domain</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
四、app-service
4.1 建立Maven Module
4.2 選擇maven-archetype-quickstart
4.3 修改app-service目錄中的pom.xml檔案,,把<groupId>com.bdong</groupId>和<version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,packaging設定打包方式為jar,同時新增對app-dao模組的依賴,app-service依賴app-dao和app-domain,但是隻需新增app-dao的依賴即可,因為app-dao已經依賴了app-domain。
修改後的配置檔案:<?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.bdong</groupId>
<artifactId>app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>app-service</artifactId>
<packaging>jar</packaging>
<name>app-service</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.bdong</groupId>
<artifactId>app-dao</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
五、app-web
5.1 建立Maven Module
5.2 選擇maven-archetype-webapp
5.3 修改app-web目錄中的pom.xml檔案,,把<groupId>com.bdong</groupId>和<version>0.0.1-SNAPSHOT</version>去掉,修改打包方式為<packaging>war</packaging>,新增對app-service模組的依賴
修改後的配置檔案:<?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.bdong</groupId>
<artifactId>app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>app-web</artifactId>
<strong> <span style="color:#ff0000;"><packaging>war</packaging></span></strong>
<name>app-web Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.bdong</groupId>
<artifactId>app-service</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>app-web</finalName>
</build>
</project>
六,編譯
控制檯列印資訊:
七、執行
7.1 新增app-web到tomcat中
7.2 執行tomcat,然後在瀏覽器中訪問:localhost:8080/app-web
最終,目錄結構為: