« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9702228 建立时间:2004年12月20日 |

| |
[软件项目管理]Maven2 pox.xml 配置实践 原创空间, 文章收藏, 软件技术, 电脑与网络
邢红瑞 发表于 2006/9/1 18:53:04 |
做一个比较详细的
<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: groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.mycompany.app生成的相对路径为:/com/mycompany/app --> <groupId>asia.qintianjie</groupId> <!-- artifactId: 项目的通用名称 --> <artifactId>qintianjie-maven2</artifactId> <!-- packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, par --> <packaging>jar</packaging> <!-- version:项目的版本 --> <version>1.0-SNAPSHOT</version> <!-- 项目的名称, Maven 产生的文档用 --> <name>qintianjie-maven</name> <!-- 哪个网站可以找到这个项目,提示如果 Maven 资源列表没有,可以直接上该网站寻找, Maven 产生的文档用 --> <url>http://www.qintianjie.asia</url> <!-- 项目的描述, Maven 产生的文档用 --> <description>A maven project to study maven.</description> <!-- 开发者信息 --> <developers> <developer> <id>mfc42d</id> <name>hongrui xing</name> <email>mfc42d@sohu.com</email> <roles> <role>Project Manager</role> <role>Architect</role> </roles> <organization>hongrui xing</organization> <organizationUrl>http://www.venustech.com.cn</organizationUrl> <properties> <dept>No</dept> </properties> <timezone>-5</timezone> </developer> </developers> <!-- 类似 developers --> <contributors></contributors> <!-- 本项目相关 mail list, 用于订阅等信息 --> <mailingLists> <mailingList> <name>hongrui xing</name> <!-- Link mail --> <post>mfc42d@sohu.com</post> <!-- mail for subscribe the project --> <subscribe>mfc42d@sohu.com</subscribe> <!-- mail for unsubscribe the project --> <unsubscribe>mfc42d@sohu.com</unsubscribe> <archive> http://mail-archives.tanta.com/qintianjie/dev/ </archive> </mailingList> </mailingLists> <!-- 项目的问题管理系统(Bugzilla, Jira, Scarab,或任何你喜欢的问题管理系统)的名称和URL,本例为 jira --> <issueManagement> <system>jira</system> <url>http://jira.tatan.com</url> </issueManagement> <!-- organization information --> <organization> <name>tatan</name> <url>http://www.tatan.com</url> </organization> <!-- License --> <licenses> <license> <name>Apache 2</name> <url>http://www.tatan.com/LICENSE-2.0.txt</url> <distribution>repo</distribution> <comments>GPL v3 license</comments> </license> </licenses> <!-- - scm(software configuration management)标签允许你配置你的代码库,为Maven web站点和其它插件使用。 - 如果你正在使用CVS或Subversion,source repository页面同样能给如何使用代码库的详细的、工具相关的指令。 - 下面是一个典型SCM的配置例子 --> <scm> <!-- 项目在 svn 上对应的资源 --> <connection> scm:svn:http://svn.tatan.com/maven/qintianjie/qintianjie-maven2-trunk(dao-trunk) </connection> <developerConnection> scm:svn:http://svn.tatan.com/maven/qintianjie/dao-trunk </developerConnection> <url>http://svn.tatan.com</url> </scm> <!-- 用于配置分发管理,配置相应的产品发布信息,主要用于发布,在执行mvn deploy后表示要发布的位置 --> <distributionManagement> <!-- 配置到文件系统 --> <repository> <id>tatan-maven2</id> <name>qintianjie maven2</name> <url>file://${basedir}/target/deploy</url> </repository> <!-- 使用ssh2配置 --> <snapshotRepository> <id>tatan-maven2</id> <name>tatan-maven2 Snapshot Repository</name> <url>scp://svn.tatan.com:/usr/local/maven-snapshot</url> </snapshotRepository> <!-- 使用ssh2配置 --> <site> <id>tatan-site</id> <name>business api website</name> <url> scp://svn.tatan.com:/var/www/localhost/tatan-web </url> </site> </distributionManagement> <!-- 依赖关系 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <!-- scope 说明 - compile :默认范围,用于编译 - provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath - runtime: 在执行时,需要使用 - test: 用于test任务时使用 - system: 需要外在提供相应得元素。通过systemPath来取得 - systemPath: 仅用于范围为system。提供相应的路径 - optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用 --> <scope>test</scope> <!-- - systemPath: 仅用于范围为system。提供相应的路径 - optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用 --> <!-- <type>jar</type> <optional>true</optional> --> </dependency>
<!-- - 外在告诉maven你只包括指定的项目,不包括相关的依赖。此因素主要用于解决版本冲突问题 - 如下依赖表示 项目acegi-security依赖 org.springframework.XXX 项目,但我们不需要引用这些项目 --> <dependency> <groupId>org.acegisecurity</groupId> <artifactId>acegi-security</artifactId> <version>1.0.5</version> <scope>runtime</scope> <exclusions> <exclusion> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-support</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> <exclusion> <artifactId>spring-jdbc</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-remoting</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.1</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>2.5.1</version> <scope>runtime</scope> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.2-504.jdbc4</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0.6</version> <scope>runtime</scope> </dependency> </dependencies> <!-- - maven proxy, 本地仓库,替代 maven.apache.org 网站 jar 列表,用户下载时,首先寻找该站点 - 如资源找到,则下载。否则才去 jar 列表网站。对多人团队,可节省下载速度和个人存储空间。 --> <repositories> <repository> <id>tatan-repository-proxy</id> <name>tatan-repository-proxy</name> <url>http://192.168.1.166:666/repository/</url> <layout>default</layout> </repository> </repositories> |
|
|