通常的web項目構成:html
首先使用命令進入到咱們須要創建maven項目的目錄:java
mvn archetype:generate -DgroupId=com.lsk.mavenProject -DartifactId=parent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
在 D:\java\test\下出現parent,進入,將src文件夾刪除,而後修改pom.xml文件:將<packaging>jar</packaging>修改成<packaging>pom</packaging>,pom表示它是一個被繼承的模塊。web
若是命令一直停留在:[INFO] Generating project in Batch mode
,請參考:maven(二)apache
進入到新建立的parent,建立domian模塊:瀏覽器
建立成功後,修改domain目錄中的pom.xml文件,把<groupId>com.lsk.maven</groupId>和<version>1.0-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,由於groupId和version會繼承system-parent中的groupId和version,packaging設置打包方式爲jar:app
<?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.lsk.maven</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>domain</artifactId> <packaging>jar</packaging> <name>domain</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> </project>
建立dao模塊,方法和上面同樣:dom
建立好後,修改dao目錄中的pom.xml文件,修改和domain的同樣的方式,不過,須要添加對system-domain模塊的依賴,修改後的內容以下:webapp
<?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.lsk.maven</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>dao</artifactId> <packaging>jar</packaging> <name>dao</name> <url>http://maven.apache.org</url> <dependencies> <!--dao須要使用到domain中的類,因此須要添加對domain模塊的依賴--> <dependency> <groupId>com.lsk.maven</groupId> <artifactId>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>
建立service:maven
建立方式和pom.xml修改方式,和上面的同樣,不過注意,此次要添加對dao模塊的引用,那咱們還要不要添加對domain模塊的引用呢?不須要,由於雖然service依賴dao和domain,由於dao已經依賴了system-domain,咱們只添加對dao的引用就能夠啦。post
建立web,命令和上面的模塊的建立方法不太同樣:
mvn archetype:generate -DgroupId=com.lsk.maven -DartifactId=web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
修改web下的pom.xml文件,並添加對service的引用,和上面的修改方式同樣,可是,注意,web項目的打包方式是war!!!!
如今看parent下的pom.xml
如何運行呢?最後運行的確定是web,咱們能夠給他裝個jetty插件,修改web下的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.lsk.maven</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>web</artifactId> <packaging>war</packaging> <name>web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>com.lsk.maven</groupId> <artifactId>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>web</finalName> <plugins> <!--配置Jetty插件--> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins> </build> </project>
咱們執行:mvn clean install命令:
進入web目錄,啓動jetty:
mvn jetty:run
瀏覽器訪問:
可使用Ctrl+c中止jetty。