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`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...
一、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是Java领域最流行的构建工具之一,其核心配置文件是Pom.xml。在Pom.xml文件中,我们可以定义项目的基本信息、依赖关系、构建过程、测试环境等。下面,我们将详细解析Pom.xml...
当我们说“根据pom.xml下载依赖”,实际上是在指Maven如何通过解析项目中的pom.xml文件来获取并安装项目的依赖库。 pom.xml文件通常位于项目的根目录下,它定义了项目的基本属性,如项目名称、版本、打包类型(如...
《深入解析Maven工程中的pom.xml配置》 在软件开发过程中,管理依赖关系是一项繁重的任务,而Apache Maven提供了一种优雅的方式来处理这个问题。本文将深入探讨Maven工程的核心配置文件——pom.xml,以及它在项目...
本文将详细介绍如何使用`mvn`命令下载`pom.xml`文件中声明的jar包,并解释涉及的相关概念。 首先,`pom.xml`是Maven项目对象模型(Project Object Model)的配置文件,它定义了项目的构建过程、依赖关系、项目信息...
Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...
Maven的pom.xml配置文件详细配置说明 <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 标签的使用" Maven 项目 pom.xml 文件中的 parent 标签是 Maven 项目管理依赖的核心组件之一。parent 标签的使用可以简化项目间的依赖管理,使得项目结构更加清晰、易于维护。 ...
pom.xml android maven 工程 如何拿Maven 构建 一个 Android 项目的pom配置
idea中pom.xml文件
pom.xml常用配置 Pom.xml是Maven项目的核心配置文件,它定义了项目的结构、依赖关系和构建过程。下面是pom.xml文件中常用的配置项和解释: 1. `<project>`:pom.xml文件的根元素,定义了整个项目的信息。 2. `...
基于Java的POM.XML,如果用兴趣,可以下载下去参考一下
maven的pom.xml的最详细配置,内含pom的依赖、jdk配置等
本篇详解主要针对Maven中的核心配置文件——pom.xml进行深入解析,帮助理解和应用其配置。 首先,pom.xml是每个使用Maven的项目的必配文件,它位于项目的根目录下,用于定义项目的构建配置和其他信息。配置文件的...
这个“netty-all-5.0.0.Alpha3 完整pom.xml配置”是针对Netty 5.0.0 Alpha3版本的集成配置,包含了该版本所需的全部依赖项,便于开发者在基于Maven的项目中直接引用,避免了手动管理多个jar文件的繁琐过程。...
本文将详细介绍如何配置Maven以使用Nexus作为本地中央仓库,以及涉及的主要配置文件`settings.xml`和`pom.xml`。 **一、Nexus简介** Nexus是Sonatype公司提供的一款开源的Maven仓库管理器,它能够作为Maven的代理...
Maven pom.xml 常用配置解析 Maven 项目对象模型(POM)是 Maven 的核心概念,它是 Maven 项目的描述文件,用于定义项目的坐标、依赖关系、编译、打包、测试、部署等过程。pom.xml 文件是 Maven 项目的核心配置文件...
在标题"netty-all-4.1.5.Final完整pom.xml文件配置"中,我们关注的是Netty的特定版本——4.1.5.Final。这个版本包含了Netty的所有模块,提供了完整的功能集。`pom.xml`文件是Maven项目对象模型(Project Object ...
pom.xml配置文件