1、创建一个父工程的pom文件
2、在父工程下创建子工程的module
3、web的pom文件
1.<archiveClasses>false
src/main/resources是默认的资源目录。
当archiveClasses=true时,resources中的文件资源会被打到jar中;
当archiveClasses=false时,resources中的文件资源在war的根目录。
<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">
<parent>
<groupId>com.sohu</groupId>
<artifactId>focus-root-pom</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>cn.focus.dc.app.stat</groupId>
<artifactId>foucs-app-report</artifactId>
<packaging>pom</packaging>
<name>foucs-app-report</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>foucs-app-report-dao</module>
<module>foucs-app-report-model</module>
<module>foucs-app-report-service</module>
<module>foucs-app-report-web</module>
</modules>
<dependencies>
<dependency>
<groupId>net.paoding</groupId>
<artifactId>paoding-rose</artifactId>
</dependency>
<dependency>
<groupId>net.paoding</groupId>
<artifactId>paoding-rose-jade</artifactId>
</dependency>
<dependency>
<groupId>net.paoding</groupId>
<artifactId>paoding-rose-portal</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>transaction-api</artifactId>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
</dependency>
<dependency>
<groupId>commons-jexl</groupId>
<artifactId>commons-jexl</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>com.sohu.sce</groupId>
<artifactId>focus-sso-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
</dependency>
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>cn.focus.dc</groupId>
<artifactId>remote-logging-log4j</artifactId>
</dependency>
<dependency>
<groupId>cn.focus.dc.cms.auth</groupId>
<artifactId>cms-auth-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>cn.focus.dc.commons</groupId>
<artifactId>sce-memcached-support</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>quartz</artifactId>
</dependency>
<!-- 邮件发送的依赖包 -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
</dependency>
<!-- sce邮件发送的依赖包 -->
<dependency>
<groupId>com.sohu.apps.api</groupId>
<artifactId>sce_sdk4j</artifactId>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>1.6</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</reporting>
</project>
2、在父工程下创建子工程的module
<?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>cn.focus.dc.app.stat</groupId>
<artifactId>foucs-app-report</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>focus-app-report-model</artifactId>
<packaging>jar</packaging>
<name>focus-app-report-model</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
3、web的pom文件
<?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>cn.focus.dc.app.stat</groupId>
<artifactId>foucs-app-report</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>focus-app-report-web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>cn.focus.dc.app.stat</groupId>
<artifactId>focus-app-report-service</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<verbose>true</verbose>
<encoding>UTF-8</encoding>
<compilerArguments>
<sourcepath>${project.basedir}/src/main/java</sourcepath>
<sourcepath>${project.basedir}/src/main/resources</sourcepath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Rose>*</Rose>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<!-- <archiveClasses>true</archiveClasses> -->
<webappDirectory>${war.webappDirectory}</webappDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.11.v20130520</version>
<configuration>
<systemProperties>
<systemProperty>
<name>DEBUG</name>
<value>TRUE</value>
</systemProperty>
</systemProperties>
<scanIntervalSeconds>5</scanIntervalSeconds>
<stopKey>focus</stopKey>
<stopPort>9999</stopPort>
<scanTargetPatterns>
<scanTargetPattern>
<directory>src/main/webapp/WEB-INF</directory>
<excludes>
<exclude>**/*.jsp</exclude>
</excludes>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</scanTargetPattern>
</scanTargetPatterns>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.codegen</groupId>
<artifactId>maven-jadegen-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<!-- 默认值 是 com.mysql.jdbc.Driver, 可根据需要确定是否修改数据库配置信息 -->
<driverClass>com.mysql.jdbc.Driver</driverClass>
<dbUrl>jdbc:mysql://10.10.90.156:3306/pinge</dbUrl>
<dbUser>*****</dbUser>
<dbPassword>*****</dbPassword>
<!-- 数据库表名,根据需要进行修改,默认是 % 全部, 支持前缀形式 比如:user_%;如果是散表,随意取 一个散表的表名如test_04及可生成散表格式的DAO -->
<tbNamePattern>pic_favorite_log</tbNamePattern>
<!-- 生成的DAO和Model的包路径,注:包要事先建好,否则执行时可能报错 -->
<modelPkg>cn.focus.dc.app.pinge.model</modelPkg>
<daoPkg>cn.focus.dc.app.pinge.dao</daoPkg>
<!-- 默认是 工程 src/main/java 目录 -->
<srcFolder>${project.build.sourceDirectory}</srcFolder>
<!-- 基础类的设置 -->
<baseObjectClass>cn.focus.dc.commons.model.BaseObject</baseObjectClass>
<pkClass>cn.focus.dc.commons.annotation.PrimaryKey</pkClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</reporting>
</project>
1.<archiveClasses>false
src/main/resources是默认的资源目录。
当archiveClasses=true时,resources中的文件资源会被打到jar中;
当archiveClasses=false时,resources中的文件资源在war的根目录。