通常的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。