`

pom.xml

 
阅读更多

pom.xml的基础元素,通过该元素管理项目对第三方包的一些依赖。Maven会根据你在这个元素中定义的一些包的依赖下载到本地仓库,并让项目使用。保证我们的项目能正确的构建和布署。dependencies下有dependency元素,指定项目依赖的某个包。

dependency元素说明
groupId, artifactId,version:引用的包的groupId, artifactId, version
type:指定依赖的这个项目类型,是jar包还是其他类型的包,默认为jar。 
optional: 如果只是为了满足本项目编译, 或者在运行时不需要该包时, 可以将optional设为true, 那么如果再有其他项目引用本项目时, 这个包将不依赖进来。
classifier:用于区别jdk的版本,有些包用不同的jdk,并有不同的后缀让我们选择,我们可以加上这个分类器。例如:bouncycastle/bcprov-jdk15/135/bcprov-jdk15-135.jar

systemPath:用于指定包的具体所在位置。当scope为system时设置。
scope:该依赖所适用的范围。scope有如下的值:
compile,默认值,适用于所有阶段,会随着项目一起发布。 
provided,类似compile,期望容器或使用者会提供这个依赖。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 编译时不会使用该包。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
system,类似provided,需要显式提供包含依赖的jar,maven不会在Repository中查找它,将会去systemPath中查找。并不会随项目发布。 

 

<!-- 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><!-- 指明POM使用的对象模型的版本,这个值很少改动。 -->
	<groupId>YGBX_ESB</groupId>       <!-- 指明创建项目的组织或者小组的唯一标识 -->
	<artifactId>EADT</artifactId>     <!-- 指明此项目产生的主要产品的基本名称 -->
	<packaging>war</packaging>        <!-- maven 的打包方式  -->
	<version>0.0.1-SNAPSHOT</version> <!-- 项目产品的版本号,SNAPSHOT版本处于开发-->
	<name>EADT Maven Webapp</name>    <!-- 项目的显示名称,通常用于maven产生的文档 --> 
	<url>http://maven.apache.org</url><!-- 指定项目站点,通常用于maven产生的文档中。-->

	<repositories><!--私服的jar文件储存仓库,此私服没有需要的jar文件,去中央仓库寻找-->
		<repository>
			<id>nexus</id>
			<name>Team Nexus Repository</name>
			<url>http://localhost:8081/nexus/content/groups/public</url>
		</repository>
	</repositories>


	<pluginRepositories> <!--私服的插件jar文件储存仓库,如若。。  -->
		<pluginRepository>
			<id>nexus</id>
			<name>Team Nexus Repository</name>
			<url>http://localhost:8081/nexus/content/groups/public</url>
		</pluginRepository>
	</pluginRepositories>


	<properties>
		<junit.version>4.10</junit.version>
		<logback.version>1.1.2</logback.version>
		<oracle.jdbc.version>11.2.0.4.0</oracle.jdbc.version>
		<hibernate.version>3.6.10.Final</hibernate.version>
		<commons.fileupload.version>1.2.1</commons.fileupload.version>
		<javassist.version>3.12.1.GA</javassist.version>
		<spring.version>3.0.2.RELEASE</spring.version>
		<mybatis.version>3.2.8</mybatis.version>
		<mybatis.spring.version>1.2.1</mybatis.spring.version>
		<struts2.version>2.3.20</struts2.version>
		<commons.beanutils>1.9.2</commons.beanutils>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies><!--项目依赖的某个包  -->
		<!-- 推送客户端信息,保持长连接,建议 webSocket代替 -->
		<dependency>
			<groupId>pushlet</groupId>
			<artifactId>pushlet</artifactId>
			<version>1.0</version>
		</dependency>

		<!-- Servlet Api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- jsp-api -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2</version>
			<scope>provided</scope>
		</dependency>

		<!-- POI Excel 表格 -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.11</version>
		</dependency>

		<!-- JSP标签库 -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.1.2</version>
		</dependency>

		<!-- webService 工具 -->
		<dependency>
			<groupId>axis</groupId>
			<artifactId>axis</artifactId>
			<version>1.4</version>
		</dependency>

		<!-- XML文件解析工具 -->
		<dependency>
			<groupId>jdom</groupId>
			<artifactId>jdom</artifactId>
			<version>1.1</version>
		</dependency>

		<!-- ActionMq -->
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-core</artifactId>
			<version>5.7.0</version>
		</dependency>

		<!-- mmons项目中封装了各种网络协议的客户端 -->
		<dependency>
			<groupId>commons-net</groupId>
			<artifactId>commons-net</artifactId>
			<version>3.3</version>
		</dependency>

		<!-- ant 编译打包构建工具 -->
		<dependency>
			<groupId>org.apache.ant</groupId>
			<artifactId>ant</artifactId>
			<version>1.9.4</version>
		</dependency>

		<!-- Jetty Util -->
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-util</artifactId>
			<version>9.2.6.v20141205</version>
		</dependency>

		<!-- Struts2 核心包 -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-core</artifactId>
			<version>${struts2.version}</version>
		</dependency>

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

		<!-- Struts2 单元测试类 -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-junit-plugin</artifactId>
			<version>2.3.20</version>
		</dependency>

		<!-- Ojdbc6.jar -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>${oracle.jdbc.version}</version>
		</dependency>

		<!-- 阿里数据库连接池 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.12</version>
		</dependency>

		<!-- logback 日志文件 -->
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
		</dependency>


		<!-- MyBatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis.version}</version>
		</dependency>

		<!-- MyBatis对 Spring集成 的依赖包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>${mybatis.spring.version}</version>
			<!-- <type>zip</type> -->
		</dependency>

		<!-- 模板引擎 -->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.7</version>
		</dependency>

		<!-- Hibernate -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-nop</artifactId>
			<version>1.5.2</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>${hibernate.version}</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>4.1.9.Final</version>
			<type>jar</type>
		</dependency>

		<!-- Hibernate验证 包 -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.1.3.Final</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
			<version>1.0.0.Final</version>
		</dependency>

		<dependency>
			<groupId>javax.transaction</groupId>
			<artifactId>jta</artifactId>
			<version>1.1</version>
		</dependency>

		<!-- rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面 -->
		<dependency>
			<groupId>com.googlecode.rapid-framework</groupId>
			<artifactId>rapid-generator</artifactId>
			<version>4.0.6</version>
		</dependency>

		<!-- Redis javaAPI -->
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.6.2</version>
		</dependency>

		<!-- quartz 定时任务 -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.0</version>
		</dependency>

		<!-- junit包 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- 读取字节码包 -->
		<dependency>
			<groupId>javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>${javassist.version}</version>
		</dependency>

		<!-- spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jms</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-instrument</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- 性能不好 更换成 fastjson -->
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.4</version>
			<classifier>jdk15</classifier>
		</dependency>

		<dependency>
			<groupId>de.odysseus.staxon</groupId>
			<artifactId>staxon</artifactId>
			<version>1.3</version>
		</dependency>

		<dependency>
			<groupId>net.sf.jasperreports</groupId>
			<artifactId>jasperreports</artifactId>
			<version>4.0.1</version>
		</dependency>

		<dependency>
			<groupId>net.sourceforge.jexcelapi</groupId>
			<artifactId>jxl</artifactId>
			<version>2.6.12</version>
		</dependency>

		<!-- 高性能JSON 处理工具 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.3</version>
		</dependency>

		<!-- aspectj -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.8.4</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.4</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjlib</artifactId>
			<version>1.6.2</version>
		</dependency>

	</dependencies>

	<build>
		<finalName>EADT</finalName>
		<!--插件 -->
		<plugins>
		   <!-- 編譯插件 -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

			<!-- 打war包插件 -->
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<version>3.0</version>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>

			<!-- maven 測試插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.7.2</version>
				<configuration>
					<forkMode>once</forkMode>
					<argLine>-Dfile.encoding=UTF-8</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

 

 详细参考:http://www.blogjava.net/jianyue/articles/227932.html

 

分享到:
评论

相关推荐

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

    maven的本地仓库配置文件settings.xml和项目中文件pom.xml.zip

    一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings.xml ...pom-maven-spring-CusConfigV1不推荐使用.xml

    史上最全的maven的pom.xml文件详解

    史上最全的Maven的Pom.xml文件详解 Maven是Java领域最流行的构建工具之一,其核心配置文件是Pom.xml。在Pom.xml文件中,我们可以定义项目的基本信息、依赖关系、构建过程、测试环境等。下面,我们将详细解析Pom.xml...

    根据pom.xml下载依赖

    当我们说“根据pom.xml下载依赖”,实际上是在指Maven如何通过解析项目中的pom.xml文件来获取并安装项目的依赖库。 pom.xml文件通常位于项目的根目录下,它定义了项目的基本属性,如项目名称、版本、打包类型(如...

    常用pom.xml文件.zip

    《深入解析Maven工程中的pom.xml配置》 在软件开发过程中,管理依赖关系是一项繁重的任务,而Apache Maven提供了一种优雅的方式来处理这个问题。本文将深入探讨Maven工程的核心配置文件——pom.xml,以及它在项目...

    通过mvn命令下载pom.xml中的jar包

    本文将详细介绍如何使用`mvn`命令下载`pom.xml`文件中声明的jar包,并解释涉及的相关概念。 首先,`pom.xml`是Maven项目对象模型(Project Object Model)的配置文件,它定义了项目的构建过程、依赖关系、项目信息...

    Maven build之pom.xml文件中的Build配置

    Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...

    Maven的pom.xml配置文件详细配置说明

    Maven的pom.xml配置文件详细配置说明 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

    maven项目pom.xml中parent标签的使用.docx

    "Maven 项目 pom.xml 中 parent 标签的使用" Maven 项目 pom.xml 文件中的 parent 标签是 Maven 项目管理依赖的核心组件之一。parent 标签的使用可以简化项目间的依赖管理,使得项目结构更加清晰、易于维护。 ...

    pom.xml android maven 工程

    pom.xml android maven 工程 如何拿Maven 构建 一个 Android 项目的pom配置

    idea中pom.xml文件

    idea中pom.xml文件

    pom.xml常用配置

    pom.xml常用配置 Pom.xml是Maven项目的核心配置文件,它定义了项目的结构、依赖关系和构建过程。下面是pom.xml文件中常用的配置项和解释: 1. `&lt;project&gt;`:pom.xml文件的根元素,定义了整个项目的信息。 2. `...

    基于Java的POM.XML

    基于Java的POM.XML,如果用兴趣,可以下载下去参考一下

    maven项目pom.xml最详细配置

    maven的pom.xml的最详细配置,内含pom的依赖、jdk配置等

    Maven之pom.xml配置文件详解.pdf

    本篇详解主要针对Maven中的核心配置文件——pom.xml进行深入解析,帮助理解和应用其配置。 首先,pom.xml是每个使用Maven的项目的必配文件,它位于项目的根目录下,用于定义项目的构建配置和其他信息。配置文件的...

    netty-all-5.0.0.Alpha3 完整pom.xml配置

    这个“netty-all-5.0.0.Alpha3 完整pom.xml配置”是针对Netty 5.0.0 Alpha3版本的集成配置,包含了该版本所需的全部依赖项,便于开发者在基于Maven的项目中直接引用,避免了手动管理多个jar文件的繁琐过程。...

    maven私服(nexus)配置(setting,pom.xml)

    本文将详细介绍如何配置Maven以使用Nexus作为本地中央仓库,以及涉及的主要配置文件`settings.xml`和`pom.xml`。 **一、Nexus简介** Nexus是Sonatype公司提供的一款开源的Maven仓库管理器,它能够作为Maven的代理...

    Maven_pom.xml常用配置解析

    Maven pom.xml 常用配置解析 Maven 项目对象模型(POM)是 Maven 的核心概念,它是 Maven 项目的描述文件,用于定义项目的坐标、依赖关系、编译、打包、测试、部署等过程。pom.xml 文件是 Maven 项目的核心配置文件...

    netty-all-4.1.5.Final完整pom.xml文件配置

    在标题"netty-all-4.1.5.Final完整pom.xml文件配置"中,我们关注的是Netty的特定版本——4.1.5.Final。这个版本包含了Netty的所有模块,提供了完整的功能集。`pom.xml`文件是Maven项目对象模型(Project Object ...

    pom.xml 文件

    pom.xml配置文件

Global site tag (gtag.js) - Google Analytics