`

我的Maven样板POM.XML文件

 
阅读更多
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>cn.howe.lis</groupId>
	<artifactId>lis-webapp</artifactId>
	<packaging>war</packaging>
	<version>1.0.0-SNAPSHOT</version>

	<name>lis-webapp Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <struts2.version>2.3.8</struts2.version>
		<springframework.version>3.1.4.RELEASE</springframework.version>
	</properties>
	
	<dependencies>
		<!-- MySQL database driver -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>

		<!-- Apache commons dbcp 1.4 (JDK 1.6) -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		
		<!-- Struts2 -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>${struts2.version}</version>
        </dependency>     
		<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-config-browser-plugin</artifactId>
            <version>${struts2.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
		 

		<!-- Struts2 的 Spring插件	-->
        <dependency>  
            <groupId>org.apache.struts</groupId>  
            <artifactId>struts2-spring-plugin</artifactId>  
            <version>${struts2.version}</version>  
            <type>jar</type>  
            <scope>compile</scope>  
            <exclusions>  
                <exclusion>  
                    <artifactId>spring-beans</artifactId>  
                    <groupId>org.springframework</groupId>  
                </exclusion>  
                <exclusion>  
                    <artifactId>spring-core</artifactId>  
                    <groupId>org.springframework</groupId>  
                </exclusion>  
                <exclusion>  
                    <artifactId>spring-context</artifactId>  
                    <groupId>org.springframework</groupId>  
                </exclusion>  
                <exclusion>  
                    <artifactId>spring-web</artifactId>  
                    <groupId>org.springframework</groupId>  
                </exclusion>  
            </exclusions>  
        </dependency>

        
        <!-- Struts2 json 插件 -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-json-plugin</artifactId>
			<version>${struts2.version}</version>
		</dependency>
         

		<!-- Hibernate framework -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.1.9.Final</version>
		</dependency>

		<!-- Spring framework -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${springframework.version}</version>
		</dependency>

		<!-- Spring AOP AspectJ ect. and CGLIB -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.6.12</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.6.12</version>
		</dependency>
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib-nodep</artifactId>
			<version>2.1_3</version>
		</dependency>
		
		<!-- Javax Mail -->
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.7</version>
		</dependency>

		<!-- JUnit 4 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-all</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
		
		<!-- Junit 除了以上两个要引入以外,还要加上 hamcrest-library, 不然在使用 assertThat、 hasItem、
		 等hamcrest断言时候,在Maven的测试会出现无法编译的情况, 但是直接使用 Eclipse的Junit插件能够测试成功 -->
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-library</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
		

		<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-junit-plugin</artifactId>
            <version>${struts2.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
			<groupId>com.icegreen</groupId>
			<artifactId>greenmail</artifactId>
			<version>1.3.1b</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId> 
			<artifactId>jetty</artifactId> 
			<version>6.1.26</version>
			<scope>test</scope>
        </dependency>


        
	</dependencies>
	<build>
		<pluginManagement>
			<plugins>
				<!-- jetty 快速开发动态网站前端插件 -->
				<!-- 已发现问题 jetty 与 Struts2 的 s:debug 标签不兼容,jetty下无法使用 debug标签,
				在不改动任何包的情况下,如果容器换成Tomcat,debug标签则能够正常使用 -->
				<plugin>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty-maven-plugin</artifactId>
					<version>7.1.6.v20100715</version>
					<configuration>
						<scanIntervalSeconds>15</scanIntervalSeconds>
						<scanTargets>
							<scanTarget>src/main/webapp/WEB-INF</scanTarget>
							<scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
							<scanTarget>src/main/resources/struts.xml</scanTarget>
							<scanTarget>src/main/resources/example.xml</scanTarget>
						</scanTargets>
					</configuration>
					<executions>
		                <execution>
		                        <id>start-jetty</id>
		                        <phase>pre-integration-test</phase>
		                        <goals>
	                                <goal>run</goal>
		                        </goals>
		                        <configuration>
	                                <scanIntervalSeconds>0</scanIntervalSeconds>
									<daemon>true</daemon>								        
									<stopPort>9966</stopPort>
									<stopKey>foo</stopKey>        
		                        </configuration>
		                </execution>
		                <execution>
		                        <id>stop-jetty</id>
		                        <phase>post-integration-test</phase>
		                        <goals>
									<goal>stop</goal>
		                        </goals>
		                </execution>
		        	</executions>
				</plugin>
				<!-- Cargo插件,因为Cargo不是Maven官方插件,要在Maven的setting.xml的plugins中配置上Cargo的plugin标签 -->
				<plugin>
					<groupId>org.codehaus.cargo</groupId>
					<artifactId>cargo-maven2-plugin</artifactId>
					<version>1.0</version>
					<configuration>
						<container>
							<containerId>tomcat6x</containerId>
							<home>${env.CATALINA_HOME}</home>
						</container>
						<configuration>
							<!-- 模式一: standalone
							 -->
							<type>standalone</type>
							<home>${project.build.directory}/target/tomcat6x</home>
							<properties>
								<cargo.servlet.port>8080</cargo.servlet.port>
							</properties>
							
							<!-- 模式二 exsiting
							<type>existing</type>
							<home>D:\Tomcat\apache-tomcat-6.0.35</home>
							 -->
						</configuration>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat6-maven-plugin</artifactId>
					<version>2.1</version>
					<configuration>
						<server>tomcat</server>
						<url>http://127.0.0.1:8080/manager</url>
						<!-- <uriEncoding>${encoding}</uriEncoding> -->
						<!-- <warSourceDirectory>WebContent</warSourceDirectory> -->						
		            </configuration>					
				</plugin>
				
				<!-- Maven 单元测试插件 -->				
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.12</version>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.surefire</groupId>
							<artifactId>surefire-junit47</artifactId>
							<version>2.12</version>
						</dependency>
					</dependencies>
					<configuration>
						<!-- 解决console输出的乱码问题 -->
						<argLine>-Dfile.encoding=UTF-8</argLine>
					</configuration>
				</plugin>
				<!-- Maven测试报告插件 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-report-plugin</artifactId>
					<version>2.14</version>
				</plugin>
			</plugins>		
		</pluginManagement>		
		<finalName>lis-webapp</finalName>
	</build>
</project>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics