- 浏览: 1149171 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
mvn site功能强大,特别是在生成的项目站点中可以添加很多测试报告及文档。
一般需要解决3个问题:
1、如何定制站点的内容和样式?
2、mvn site生成的文件分布在各子模块目录下,如何统一管理?
3、如何将报告发布成站点,以便于项目组其它成员通过浏览器能够方便的查看?
--------------------------- ----------------------------------------- ------------------------------
站点定制:
一、如果不做任何配置,执行mvn site命令生成默认样式的站点,主要包括以下内容:
1、子模块列表Modules;
2、文档列表Project Documentation,主要有两大块:项目信息Project Information 、项目报告Project Reports;
3、 项目信息Project Information,默认包括项目相关概要信息、持续集成、依赖、插件、配置库等报告,详见官网(Apache > Maven > Plugins > Maven Project Info Reports Plugin):
http://maven.apache.org/plugins/maven-project-info-reports-plugin/
4、项目报告Project Reports,取决与pom.xml文件中<reporting>部分的配置,可集成checkstyle、cobertura、Findbugs等报告;
二、如果想要增加站点内容,或者减少项目信息报告,则需要建立site.xml文件,修改项目pom文件
1、在项目根目录下(与根pom同级)新建src\site目录,其下新建site.xml文件;
2、site.xml的标准格式和校验文件可以参见官网(Apache > Maven > Plugins > Maven Site Plugin > Configuring the Site Descriptor):
http://maven.apache.org/plugins/maven-site-plugin/examples/sitedescriptor.html
<?xml version="1.0" encoding="ISO-8859-1"?> <project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd"> <!-- <bannerLeft> <name>TEST</name> <src>http://maven.apache.org/images/apache-maven-project.png</src> <href>http://maven.apache.org/</href> </bannerLeft> <bannerRight> <src>http://maven.apache.org/images/maven-small.gif</src> </bannerRight> --> <body> <links> <item name="Up" href="../dashboard-report.html" /> <item name="Home" href="http://www.yourcompany.com/projects/build/maven/site/projectname/dashboard-report.html" /> </links> <menu ref="parent" /> <!-- <menu name="Overview"> <item name="Introduction" href="index.html" /> <item name="Project Summary" href="project-summary.html"/> <item name="Plugin Management" href="plugin-management.html"/> <item name="Project Plugins" href="plugins.html"/> <item name="Source Repository" href="source-repository.html"/> </menu> --> <menu ref="modules" /> <menu ref="reports"/> </body> </project>
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.1.2</version> <reportSets> <reportSet> <reports> <report>index</report> report>summary</report> <!-- <report>project-team</report> <report>mailing-list</report> <report>cim</report> <report>issue-tracking</report> <report>license</report> --> <report>scm</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting>
在 build pluginManagement和 build plugins 以及 reporting 部分增加 javadoc 插件,如果 pom 文件中已经配置,则只需作相应修改。 charset 、 encoding 、 docencoding 配置用于解决生成的 javadoc 文件中文乱码问题; aggregate 配置为 true 则 javadoc 报告会集中显示所有子模块的 javadoc 。
在reporting 部分增加JXR插件。
The JXR plugin produces a cross-reference of the project's sources. The generated reports make it easier for the user to reference or find specific lines of code. It is also handy when used with the PMD plugin (and checkstyle plugin )for referencing errors found in the code.
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.4</version> <configuration> <aggregate>true</aggregate> <charset>UTF-8</charset> <encoding>UTF-8</encoding> <docencoding>UTF-8</docencoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> </plugin> </plugins> </reporting>
四、集成Checkstyle、 Cobertura、Surefire、Findbugs
Checkstyle: Report on coding style conventions.
Cobertura Test Coverage: Cobertura Test Coverage Report.
Surefire Report: Report on the test results of the project.
FindBugs Report:Generates a source code report with the FindBugs Library.
在超级pom文件的build pluginManagement和 build plugins以及 reporting部分增加以上插件(详见《CheckStyle、cobertura、Findbugs与Maven2的集成》)。
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.0.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.0.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> </plugin> ... </plugins> </build> ... <!-- To use the report goals in your POM or parent POM --> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>Loong_Checks.xml</configLocation> </configuration> <version>2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.0.1</version> <configuration> <xmlOutput>true</xmlOutput> <effort>Max</effort> </configuration> </plugin> ... </plugins> </reporting> ... </project>
五、全局聚合报告
当项目有多个子模块时,生成的站点需要到各级子目录下面才能看到。如果想要生成一个整体情况的报告,则需要使用dashboard插件来生成全局报告。官网:http://mojo.codehaus.org/dashboard-maven-plugin/usage.html
1、在项目pom文件build pluginManagement和 build plugins以及 reporting部分配置dashboard插件
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>dashboard-maven-plugin</artifactId> <version>1.0.0-beta-1</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>dashboard-maven-plugin</artifactId> <version>1.0.0-beta-1</version> </plugin> ... </plugins> </build> ... <!-- To use the report goals in your POM or parent POM --> <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>dashboard-maven-plugin</artifactId> <version>1.0.0-beta-1</version> </plugin> ... </plugins> </reporting> ... </project>
<pluginRepositories> <pluginRepository> <id>Codehaus repository</id> <url>http://repository.codehaus.org/</url> </pluginRepository> </pluginRepositories>
3、使用dashboard的步骤如下:
1) mvn site
(1) generate the site .
(2) let each report plugin generate its xml file.
(3) add the dashboard report item in the left menu.
2) mvn dashboard:dashboard
(1) aggregate all results of each report.
(2) re-generate the dashboard HTML file.
4、dashboard报告中默认聚集以下报告(如果有的话):
- Test Coverage :
- Code Quality :
- CheckStyle : performs static code style analysis
- PMD/CPD : performs Java source code analysis and Copy/Paste Detection
- FindBugs : performs Java source code analysis to detect Bug patterns
- JDepend : calculates design quality metrics by package
- Taglist : performs static code analysis to find tags in the code, like @todo or //TODO tags.
- Unit testing execution :
- Surefire : executes the unit tests of an application.
六、一个典型的pom配置(reporting部分)
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.1.2</version> <reportSets> <reportSet> <reports> <report>index</report> <!-- <report>summary</report> <report>project-team</report> <report>mailing-list</report> <report>cim</report> <report>issue-tracking</report> <report>license</report> <report>scm</report> --> </reports> </reportSet> </reportSets> </plugin> <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.4</version> <configuration> <aggregate>true</aggregate> <charset>UTF-8</charset> <encoding>UTF-8</encoding> <docencoding>UTF-8</docencoding> </configuration> </plugin> --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>dashboard-maven-plugin</artifactId> <version>1.0.0-beta-1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.0.1</version> <configuration> <xmlOutput>true</xmlOutput> <effort>Max</effort> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>Loong_Checks.xml</configLocation> </configuration> <version>2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> </plugin> </plugins> </reporting>
-------------------------------- ----------------------------------------------- ---------------------------------
站点的生成分两种情况:
当然,不论哪种情况,首先必须确认根目录pom文件中配置了site插件。
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>2.1</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>2.1</version> </plugin> ... </plugins> </build> ... </project>
WARNING1 :
maven site插件2.1及之前的版本存在bug,当项目pom文件中的version使用了变量的时候(见以下示例),会导致site执行失败或者取不到version、parent的值,见MSITE-337 。
2.1之前的版本,site命令可以完成,只是如果site.xml中定义了version、parent,将取不到值,并且子模块无法继承根目录下配置的site样式,在各子模块下增加site样式目录和文件即可。
2.1版本,此种情况会报错,site终止。
<project> <modelVersion>4.0.0</modelVersion> <groupId>group</groupId> <artifactId>artifact</artifactId> <packaging>pom</packaging> <version>${version.major}.${version.minor}</version> <properties> <version.major>1</version.major> <version.minor>0</version.minor> </properties> <modules> <module>module</module> </modules> </project>WARNING2 :
如果发现某些代码检查插件被跳过,可能是因为项目目录结构与maven默认结构不一致,但pom文件中未进行配置。
maven默认目录:
<sourceDirectory>src/main/java</sourceDirectory> <outputDirectory>target/classes</outputDirectory>
<build> ... <sourceDirectory>src/java</sourceDirectory> <outputDirectory>classes</outputDirectory> ... </build>
一、生成本地测试报告
1、修改pom文件,配置site信息
<distributionManagement> <site> <id>www.yourcompany.com</id> <url>file:///opt/nfs/build/site/projectname</url> </site> </distributionManagement>
2、到项目根目录下(与根pom同级)执行mvn clean site dashboard:dashboard site:stage -DstagingDirectory=D:\fullsite -fn
可在本地生成包含Surefire单元测试报告、dashboard聚合报告的文件。
clean:清空旧的文件;
dashboard:dashboard:生成dashboard聚合报告;
stage(maven2.0- beta-5以上版本才支持):将site集成生成到stagingDirectory下面,如果不指定-DstagingDirectory,则默认集 成到当前根目录下(\target\staging\localhost\opt\nfs\build\site\projectname);
-fn:忽略编译失败,不会为一个失败停止,也不会报告失败。
3、如果嫌目录太长,可以做如下配置:
<distributionManagement> <site> <id>www.yourcompany.com</id> <url>file://</url> </site> </distributionManagement>
则生成的文件在当前根目录下(\target\staging\localhost)。
4、使用site:stage可以将报告统一管理,而不必到各子目录下找,比较方便。
5、注意在站点尚未生成完毕的时候不要打开dashboard报告文件,否则可能导致dashboard报告文件为空。
二、将站点发布到HTTP server
1、首先,需要得到站点发布地址的服务器信息,修改maven安装目录下的settings.xml文件,配置server信息:
<servers> <server> <id>www.yourcompany.com</id> <username>my_login</username> <password>my_password</password> </server> </servers>
id:HTTP server 的id。
username, password:用于登陆此服务器的用户名和密码
2、修改pom文件,指定站点发布地址。
//Homepage信息,注意与http访问地址保持一致
<groupId>org.yourcompany.test</groupId> <artifactId>test</artifactId> <version>1</version> <description>test</description> <name>test</name> <url>http://www.yourcompany.com/projects/build/maven/site/projectname</url>
//发布地址信息,与httpserver管理员沟通,需要相关目录权限,以下两种方式二选其一
//scp方式
<distributionManagement> <site> <id>www.yourcompany.com</id> <url>scp://www.yourcompany.com/www/docs/project</url> </site> </distributionManagement>
<distributionManagement> <site> <id>www.yourcompany.com</id> <url>file:///opt/nfs/build/site/projectname</url> </site> </distributionManagement>如果想要通过file方式从本机发布到httpserver,可在httpserver设置文件夹共享(httpserver是linux操作系统可通过 samb设置),然后映射到本地磁盘。修改pom文件中的distributionManagement配置即可,其他不变:
<distributionManagement> <site> <id>www.yourcompany.com</id> <url>file://z:/projectname</url> </site> </distributionManagement>
id:HTTP server的id;
url:文件存放目录,目前支持scp(需要配置用户、权限等)和file方式传送。使用file方式表示直接拷贝文件到本机,如果http server不在本机,使用共享文件夹的方式。
3、到项目根目录下(与根pom同级)执行mvn clean site dashboard:dashboard site:deploy -fn:发布站点,即可通过浏览器访问(http)。
4、此时不能使用site:stage,否则子module的链接不正确,通过浏览器无法正确访问子模块页面。
5、注意在maven2.1之前的版本,存在maven site在linux上生成的子module的link不正确的bug。若要正确访问子module,需要使用maven2.1以上的版本。
6、执行site dashboard:dashboard site:deploy,生成的dashboard页面没有默认name作为页面标题;
执 行site site:deploy,发现生成的dashboard页面标题正常,但dashboard报告只会聚合子目录报告,而不会聚合同级报告,如果项目有多个 子modules,且根目录级别没有代码,报告为空,那么site site:deploy根目录下的dashboard报告数据是没有问题的;
一个折衷的办法是site dashboard:dashboard site site:deploy,则页面标题正常,dashboard报告内容也正确。
-------------------------------- ----------------------------------------------- ---------------------------------
转载地址:http://julianlali.blog.163.com/blog/static/58133643201041024047675/
发表评论
-
svn和maven结合使用
2012-09-27 12:46 1093目前项目组在开发一个 ... -
用nexus搭建maven私服
2012-09-13 09:12 1127首先介绍一下背景,公 ... -
maven 去掉泛型警告和过时警告
2012-09-11 13:04 3448使用maven的过程中,常常会因为一些警告而不能通过编译,例如 ... -
maven 配置篇 之pom.xml
2012-08-27 08:36 1074pom作为项目对象模型。通过xml表示maven项目,使用 ... -
maven 配置篇 之 settings.xml 整理中...
2012-08-27 08:34 1158maven2比起maven1 来说,需要配置的文件 ... -
使用maven2 进行团队配置 整理中
2012-08-27 08:31 1393对于团队来说,建立统一的开发环境是必须的,而maven能很好 ... -
联通网络环境下无法访问http://repo1.maven.org/maven2/中央库解决,镜像库添加
2012-08-27 08:30 1620Maven 2的安装和使用虽然不是一点即用,但也不是很复杂 ... -
Maven新建欧洲中央镜像源
2012-07-12 09:42 1188熟悉maven的朋友都知道,我们maven的中央镜像源一直都 ... -
Maven properties
2012-01-19 10:57 1175Intro Because I couldn't fin ... -
maven常见问题问答
2011-12-29 08:21 1164. 前言 Maven ,发音是[`me ... -
Nexus入门指南(图文)
2011-12-28 08:16 1082Nexus介绍 Nexus 是Maven仓 ... -
Maven中多模块项目的Site生成
2011-12-31 08:46 1348疲累不堪的我一定不能在写完之前倒下。Maven生成站点大家都会 ... -
Maven的配置和使用
2011-12-29 08:21 11281、下载和安装maven 注:在使用之前,应首先安装 ... -
一劳永逸的修改Maven的编译级别
2011-12-20 13:28 1351网络上最常见的方式是: Xhtml代码 ... -
Maven问题总结
2011-12-20 11:50 1975Maven问题总结 参考:http://tianya ... -
maven创建项目实例讲解
2011-12-06 10:14 1204在正文开始前,先要特别感觉两位同学——光远师兄和浩天,谢 ... -
maven 配置篇(一)
2011-11-26 16:44 1300了settings.xml配置,下来说一下maven2的主要配 ... -
Maven2 的新特性
2011-11-26 16:11 935Maven2 已经推出,Maven 的 ... -
Maven 配置
2011-11-18 08:27 1559在mvn.bat中很有用的一段 说了可以设置哪些参数 怎么de ... -
maven入门总结
2011-10-20 09:39 1096刚来公司使用的第一个构建工具就是maven,当时学会了几个 ...
相关推荐
这些站点可以通过Maven的站点插件生成,并通过Maven的站点部署目标发布到Web服务器上,便于团队成员查看和共享。 ### 总结 《Maven:终极指南》是一本内容丰富、涵盖面广的Maven专业书籍,适合所有级别的开发者...
Maven对于Web项目的发布也有相应的插件和配置支持。Maven插件是Maven生命周期的核心部分,通过插件可以完成编译、测试、打包等构建任务。在Web项目中,通常会使用maven-war-plugin插件来打包Web应用,生成WAR文件。 ...
3. **生命周期与构建阶段**:Maven的生命周期包括清洁(clean)、默认(default)和站点(site)三个阶段,每个阶段包含多个目标(goals)。例如,`mvn clean`用于清理项目,`mvn compile`用于编译源代码,`mvn ...
2. **插件管理**:Maven 3.3.9改进了插件的管理和执行,增强了对插件目标的控制,使得开发者能更灵活地定制构建流程。 3. **错误修复和兼容性增强**:此版本修复了一些已知的问题,提高了与其他工具(如IDEs)的...
Maven 3.0.5 是 Apache Maven 的一个稳定版本,它是一个项目管理和综合工具,主要用于Java开发。Maven通过使用一种标准化的项目对象模型(Project Object Model, POM)以及一套预定义的构建生命周期和依赖管理规则,...
### Maven3.5~3.6.3各版本下载知识点详解 ...2. **下载地址**:官方提供的下载地址为[Maven官方网站](https://maven.apache.org/download.cgi),但在特定情况下,也可以从其他可靠的镜像站点下载,如...
Maven插件是Apache Maven项目的核心组成部分...通过这种方式,开发者可以轻松地定制和扩展Maven的构建流程,以适应不同项目的需求。总之,Maven插件是Maven生态系统的关键组成部分,极大地简化了Java项目的构建和管理。
`clean`用于清理项目输出,`default`是核心的构建阶段,包括`validate`、`compile`、`test`、`package`、`install`和`deploy`,`site`则用于生成项目站点。每个阶段都可以通过`mvn [phase]`命令执行。 4. **依赖...
2. Maven仓库:讲解如何使用中央仓库和本地仓库管理依赖,以及如何创建和发布自定义的Maven仓库。 3. 项目结构:标准的Maven项目结构,包括src/main/java、src/test/java等目录的用途。 4. m2e插件:如何在Eclipse中...
2. **构建生命周期**:Maven拥有一个预定义的构建生命周期,包括`clean`、`default`和`site`三个阶段。`clean`用于清理项目输出,`default`涵盖了编译、测试、打包、验证等步骤,`site`则用于生成项目站点文档。 3....
"Maven 3.2.3"是该工具的一个特定版本,发布于2014年,提供了许多改进和修复,以增强稳定性和性能。在这一版本中,开发者可能找到了一些早期版本的问题解决方案,提升了构建效率,以及对依赖管理和插件执行的支持。 ...
5. **环境和配置**:Maven的配置可以通过`settings.xml`文件进行,这允许用户根据不同的开发环境(如本地、测试服务器、生产服务器)定制Maven的行为,如仓库位置、镜像设置、部署配置等。 6. **版本控制**:Maven...
2. **依赖管理**:定义项目所需的库和其他组件,Maven 会自动下载并管理这些依赖,避免版本冲突。 3. **构建配置**:包括编译、测试、打包、部署等构建过程的设置。 4. **插件配置**:Maven 使用插件执行各种任务,...
7. **生命周期与构建阶段**:Maven有三个主要的生命周期,分别是clean(清理)、default(构建)和site(生成站点)。每个生命周期包含多个构建阶段,开发者可以根据需要在不同阶段调用插件。 8. **多模块项目**:...
在这个源包中,我们可以找到Maven 2.0.7的所有源代码,这对于开发者来说是极具价值的,因为它允许我们深入理解Maven的工作原理,以及如何扩展和定制其功能。 Maven的核心概念是基于项目对象模型(Project Object ...
2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上...
2. **生命周期与构建阶段**:Maven有三个主要的生命周期:clean(清理)、default(构建)和site(生成站点文档)。每个生命周期包含多个阶段,如default生命周期中的compile(编译)、test(测试)、package(打包...
Apache Maven 是一个强大的项目管理和构建工具,尤其在Java开发领域广泛应用。它的主要目的是简化软件项目的构建过程,通过一套约定的规则和自动化流程,使得开发者能够更专注于代码本身,而不是构建细节。 1. ...