<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的根目录。