搞了3天,终于搞定了maven + hudson + p4的集成配置。
下面一一介绍下各个工具的使用。
Maven:
C:\Users\tobrien
> set M2_HOME=c:\Program Files\maven-2.0.9
C:\Users\tobrien
> set PATH=%PATH%;%M2_HOME%\bin
Standard Location
Description
pom.xml |
Maven’s POM, which is always at the top-level of a project. |
LICENSE.txt |
A license file is encouraged for easy identification by users and is optional. |
README.txt |
A simple note which might help first time users and is optional. |
target/ |
Directory for all generated output. This would include
compiled classes, generated sources that may be compiled, the generated
site or anything else that might be generated as part of your build. |
target/generated-sources/plugin-id
<plugin-id>
<plugin-id>
<plugin-id></plugin-id>
</plugin-id>
</plugin-id>
|
Standard location for generated sources. For example, you may generate some sources from a JavaCC grammar. |
src/main/java/ |
Standard location for application sources. |
src/main/resources/ |
Standard location for application resources. |
src/main/filters/ |
Standard location for resource filters. |
src/main/assembly/ |
Standard location for assembly filters. |
src/main/config/ |
Standard location for application configuration filters. |
src/test/java/ |
Standard location for test sources. |
src/test/resources/ |
Standard location for test resources. |
src/test/filters/ |
Standard location for test resource filters. |
groupId
groupId:
团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创
建这个项目的组织名称的逆向域名
(reverse
domain name)
开头。来自
Sonatype
的项目有一个以
com.sonatype
开头的
groupId
,而
Apache
Software
的项目有以
org.apache
开头的
groupId
。
ArtifactId:
在
groupId
下的表示一个单独项目的唯一标识符。
Version:
一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个
特定的版本。而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上
一个“
SNAPSHOT”
的标记。
项目的打包格式也是
Maven
坐标的重要组成部分,但是它不是项目唯一标识符的一个部
分。一个项目的
groupId:artifactId:version
使之成为一个独一无二的项目;你不能同
时有一个拥有同样的
groupId
,
artifactId
和
version
标识的项目。
packaging
项目的类型,默认是
jar
,描述了项目打包后的输出。类型为
jar
的项目产生一个
JAR
文件,类型为
war
的项目产生一个
web
应用。
Maven
也提供了不同的依赖范围
(dependency
scope)
。
Simple
项目的
pom.xml
包含了
一个依赖——
junit:junit:jar:3.8.1
——
范围是
test
。当一个依赖的范围是
test
的
时候,说明它在
Compiler
插件运行
compile
目标的时候是不可用的。它只有在运
行
compiler:testCompile
和
surefire:test
目标的时候才会被加入到
classpath
中。
当用
Maven
来创建
WAR
或者
EAR
,你可以配置
Maven
让它在生成的构件中捆绑依赖,
你也可以配置
Maven
,使用
provided
范围,让它排除
WAR
文件中特定的依赖。
provided
范
围告诉
Maven
一个依赖在编译的时候需要,但是它不应该被捆绑在构建的输出中。当你
开发
web
应用的时候
provided
范围变得十分有用,你需要通过
Servlet
API
来编译你的代
码,但是你不希望
Servlet
API
的
JAR
文件包含在你
web
应用的
WEB-INF/lib
目录中。
Maven
运行命令
:
mvn
archetype:create -DgroupId=org.victor.mvn \
-DartifactId=simple-webapp
-DpackageName=org.victor.mvn -DarchetypeArtifactId=maven
mvn
exec:java -Dexec.mainClass=org.sonatype.mavenbook.MyApp
mvn
compile
mvn
test
mvn
install (mvn clean install)
mvn
package
mvn
assembly:assembly
忽略测试失败
通常,你会开发一个带有很多失败单元测试的系统。
如果你正在实践测试驱动开发
(TDD)
,你可能会使用测试失败来衡量你离项目完成有多远。
如果你有失败的单元
测试,但你仍然希望产生构建输出,你就必须告诉
Maven
让它忽略测试失败。
当
Maven
遇到一个测试失败,它默认的行为是停止当前的构建。
如果你希望继续构
建项目,即使
Surefire
插件遇到了失败的单元测试,你就需要设置
Surefire
的
testFailureIgnore
这个配置属性为
true
。
<project
>
[...]
<build
>
<plugins
>
<plugin
>
<groupId
>org.apache.maven.plugins</groupId
>
<artifactId
>maven-surefire-plugin</artifactId
>
<configuration
>
<testFailureIgnore
>true</testFailureIgnore
>
</configuration
>
</plugin
>
</plugins
>
</build
>
[...]
</project
>
跳过单元测试
<project
>
[...]
<build
>
<plugins
>
<plugin
>
<groupId
>org.apache.maven.plugins</groupId
>
<artifactId
>maven-surefire-plugin</artifactId
>
<configuration
>
<skip
>true</skip
>
</configuration
>
</plugin
>
</plugins
>
</build
>
[...]
</project
>
- 大小: 27.6 KB
- 大小: 30.6 KB
分享到:
相关推荐
** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和文档。Maven 3.6.0是该工具的一个稳定版本,提供了许多改进...
**Windows环境下Maven 3.8.8的安装与配置** Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和文档生成。Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和依赖关系。Maven 的核心理念是通过标准化的构建生命周期和...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
** Maven 3.6 安装与配置指南 ** Maven 是一个强大的项目管理工具,主要应用于Java开发领域。它简化了构建、依赖管理和项目生命周期的管理,通过使用一种标准化的项目对象模型(Project Object Model,POM)来描述...
### Maven 3.6.3 的安装与配置详解 #### 一、Maven 3.6.3 的安装步骤 **1.1 确保 Java 环境已安装** - **前提条件**: Maven 是 Java 项目构建工具,因此在安装 Maven 之前,请确保您的计算机上已经正确安装了 ...
Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...
在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...
Apache Maven 是一个强大的Java项目管理工具,它极大地简化了构建、依赖管理和项目文档的生成过程。Maven 3.6.0是该工具的一个稳定版本,提供了多项改进和新特性,旨在提高开发效率和增强项目的可维护性。 Maven的...
### 超全面搭建Maven仓库 Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。本文将详细介绍如何搭建Maven环境、配置Maven仓库以及在Eclipse中集成Maven。 #### 一、下载安装Maven...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够管理项目的构建、报告和文档,通过一套统一的构建生命周期和插件系统,极大地简化了软件...
Maven是Java开发中的一款强大的构建工具,它管理项目依赖、构建生命周期和工件发布。这里我们关注的是Maven 3.1和3.2版本的安装包和源码,以及如何将Maven与Eclipse集成的插件。下面将详细介绍这些内容。 1. Maven ...
Maven是Java开发领域中不可或缺的项目管理和构建工具,由Apache Software Foundation开发并维护。它通过一套规范化的构建过程,使得Java项目管理变得简单而高效。本篇文章将深入探讨Maven的历史版本以及如何下载这些...
《MavenRunHelper:构建与管理Java项目的专业助手》 MavenRunHelper,正如其名,是一款专为Java开发者设计的Maven辅助工具,旨在简化Maven项目的运行和管理过程。Maven作为Java世界中广泛使用的项目管理和构建系统...
Apache Maven 是一个强大的Java项目管理和综合工具,它简化了构建过程,通过标准化构建生命周期和依赖管理,使得开发者能够更高效地构建、测试和部署Java应用程序。Maven 3.3.9是Maven的一个稳定版本,它包含了多个...
Apache Maven 是一个强大的项目管理工具,广泛用于Java应用程序的构建、管理和依赖管理。Maven 3.5.2是该工具的一个稳定版本,专为Mac操作系统优化。在本文中,我们将深入探讨Maven的核心概念、功能以及如何在Mac...
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...