配置Apache Maven

Apache Maven使用本身的配置和建立的项目位于许多地方:

MAVEN_OPTS环境变量:

  该变量包含用于启动运行Maven的JVM的参数,可用于向Maven提供其他选项。可以使用值-Xms256m -Xmx512m定义JVM内存设置。

settings.xml文件:

  位于USER_HOME / .m2中的设置文件旨在包含项目中Maven使用的任何配置。

.mvn文件夹:

  位于项目顶级文件夹中,文件maven.config和extensions.xml包含运行Maven的项目特定配置。

运行Apache Maven

运行Maven的语法如下:

  1. mvn [ options ] [< goal (s )>] [< phase (s )>]

所有可用的选项都记录在您可以访问的内置帮助中

  1. mvn - h

构建Maven项目的典型调用使用Maven生命周期阶段。例如

  1. mvn package

内置的生命周期及其阶段是:

  • 清洁 - 预清洁,清洁,后清洁 === clean - pre-clean, clean, post-clean
  • 默认 - 验证,初始化,生成源,进程源,生成资源,进程资源,编译,进程类,生成测试源,进程测试源,生成测试资源,进程测试 - 资源,测试编译,过程测试类,测试,准备包,包,预集成测试,集成测试,后整合测试,验证,安装,部署
  • 站点 - 站点前,站点,站点后,站点部署 site - pre-site, site, post-site, site-deploy

生成所有打包输出和文档站点并将其部署到存储库管理器的新项目可以完成

  mvn clean deploy site-deploy  只需创建软件包并将其安装在本地存储库中,以便从其他项目重新使用即可

  mvn clean install        这是Maven项目最常见的构建调用

当不使用项目时,在某些其他用例中,您可能需要调用由Maven的一部分实现的特定任务 - 这被称为插件的目标。例如:

mvn archetype:generate 要么 mvn checkstyle :check  有许多不同的插件可用,它们都实现不同的目标。

default - validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile,

process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources,

test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy

Eclipse IDE - M2Eclipse

M2Eclipse是用于Eclipse IDE的Maven集成的官方Eclipse项目。

功能包括:

  • 从Eclipse中启动Maven构建
  • 基于Maven的pom.xml的Eclipse构建路径的依赖关系管理
  • 从Eclipse工作区解析Maven依赖关系,而无需安装到本地Maven仓库
  • 从远程Maven存储库自动下载所需的依赖项和源
  • 用于创建新的Maven项目,pom.xml和启用对现有项目的Maven支持的向导
  • 快速搜索远程Maven存储库中的依赖关系
  • 在Java编辑器中快速修复以通过类或包名称查找所需的依赖项/ jar
  • 与其他Eclipse工具集成,如WTP,AJDT,Mylyn,Subclipse等。

当在IDE中进行更改时,M2E会使用Eclipse与您的Maven项目动态集成。在更改POM M2E中的依赖关系或Maven插件的配置时,将使Eclipse工作区与这些更改同步。

Maven的目标

Maven的主要目标是允许开发人员在最短的时间内了解开发工作的完整状态。为了实现这一目标,Maven试图处理以下几个方面的问题:

  • 使构建过程容易
  • 提供统一的构建系统
  • 提供优质的项目信息
  • 提供最佳做法发展指南
  • 允许透明迁移到新功能

maven现在可以用于构建和管理任何基于Java的项目的工具.

提供统一的构建系统

Maven允许项目使用其项目对象模型(POM)和一组使用Maven的所有项目共享的插件来构建,从而提供统一的构建系统。

提供优质的项目信息

Maven提供了大量有用的项目信息,部分来自您的POM,部分来自项目来源。例如,Maven可以提供:

  • 更改直接从源代码控制创建的日志文档
  • 交叉引用来源
  • 邮寄名单
  • 依赖列表
  • 单位测试报告,包括覆盖

可用插件

Maven是其核心 - 插件执行框架; 所有的工作都是通过插件完成的。寻找一个具体的执行目标?此页面列出了核心插件和其他内容。有build和报告插件:

构建插件:将在构建期间执行,并且应在POM 的<build />元素中进行配置。

报告插件:将在站点生成期间执行,并且应在POM 的<reporting />元素中进行配置。因为Reporting插件的结果是生成的站点的一部分,所以Reporting插件应该被国际化和本地化。

由Maven项目支持

要查看最新的列表,请浏览Maven存储库,特别是org / apache / maven / plugins子文件夹。(插件根据类似于标准Java包命名约定的目录结构进行组织)

Plugin    Description

核心插件 ----- Core plugins

clean

构建后清理

Clean up after the build.

compiler     

编译Java源码

Compiles Java sources.

Deploy

将构建的工件部署到远程存储库

Deploy the built artifact to the remote repository.

failsafe故障安全

在隔离的类加载器中运行JUnit集成测试。

Run the JUnit integration tests in an isolated classloader.

install

将构建的工件安装到本地存储库中

Install the built artifact into the local repository.

resources  

将资源复制到输出目录以包含在JAR中

Copy the resources to the output directory for including in the JAR.

site

生成当前项目的站点

Generate a site for the current project.

surefire

在隔离的类加载器中运行JUnit单元测试

Run the JUnit unit tests in an isolated classloader.

verifier  验证

用于集成测试 - 验证某些条件的存在

Useful for integration tests - verifies the existence of certain conditions.

Packaging types/tools   包装类型/工具

这些插件涉及打包各种工件类型

These plugins relate to packaging respective artifact types.

ear

从当前项目生成EAR

Generate an EAR from the current project.

ejb 

从当前项目构建EJB(和可选客户端)

Build an EJB (and optional client) from the current project.

jar  

从当前项目构建JAR

Build a JAR from the current project.

rar 

从当前项目构建RAR

Build a RAR from the current project.

war

从当前项目构建WAR

Build a WAR from the current project.

app-client/acr    应用程序的客户机/ ACR

从当前项目构建JavaEE应用程序客户端

Build a JavaEE application client from the current project.

shade  

从当前项目构建Uber-JAR,包括依赖关系

Build an Uber-JAR from the current project, including dependencies.source

source

从当前项目构建源JAR

Build a source-JAR from the current project.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Reporting plugins   报告插件

生成报告的插件被配置为POM中的报告,并在站点生成周期中运行

Plugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle.

changelog  更新日志

从您的SCM生成最近更改的列表

Generate a list of recent changes from your SCM.

changes     变化

从问题跟踪器或更改文档生成报告

Generate a report from an issue tracker or a change document.

checkstyle  检查样式

生成Checkstyle报告(代码规范情况报告)

Generate a Checkstyle report.

doap    

从POM生成项目描述(DOAP)文件

Generate a Description of a Project (DOAP) file from a POM.

docck   

文档检查插件

Documentation checker plugin.

javadoc

为项目生成Javadoc

Generate Javadoc for the project.

jdeps    

在项目中运行JDK的JDeps工具

Run JDK's JDeps tool on the project.

jxr  

生成源交叉引用

Generate a source cross reference.

linkcheck   

生成项目文档的Linkcheck报告

Generate a Linkcheck report of your project's documentation.

PMD

生成PMD报告

pmd Generate a PMD report.

project-info-reports  项目信息的报告

生成标准项目报告

Generate standard project reports.

surefire-report

根据单元测试的结果生成报告

Generate a report based on the results of unit tests.

/////////////////////////////////////////////////////////////////////////////////////////////////////////

Tools    

默认情况下,这些是通过Maven可用的各种工具

These are miscellaneous tools available through Maven by default.

ant

为项目生成Ant构建文件

Generate an Ant build file for the project.

antrun

从构建阶段运行一组ant任务

Run a set of ant tasks from a phase of the build.

archetype   原型

从原型生成骨架项目结构

Generate a skeleton project structure from an archetype.

assembly    部件

构建源和/或二进制文件的汇编(分发)。

Build an assembly (distribution) of sources and/or binaries.

dependency      依赖

依赖操纵(复制,解压缩)和分析

Dependency manipulation (copy, unpack) and analysis.

enforcer      实施者

环境约束检查(Maven Version,JDK等),用户自定义规则执行

Environmental constraint checking (Maven Version, JDK etc), User Custom Rule

Execution.

GPG

为工件和pom创建签名

Create signatures for the artifacts and poms.

help     

获取有关项目工作环境的信息

Get information about the working environment for the project.

invoker 调用

运行一组Maven项目并验证输出

Run a set of Maven projects and verify the output.

Jarsigner

标识或验证项目工件

Signs or verifies project artifacts.

patch    补丁

使用gnu补丁工具将补丁文件应用到源代码

Use the gnu patch tool to apply patch files to source code.

pdf

生成项目文档的PDF版本

Generate a PDF version of your project's documentation.

plugin   插件

为源树中找到的任何moj创建Maven插件描述符,以包含在JAR中。

Create a Maven plugin descriptor for any mojos found in the source tree, to include in the

JAR.

release发布

释放当前项目 - 在SCM中更新POM和标记

Release the current project - updating the POM and tagging in the SCM.

remote-resources      远程资源

将远程资源复制到输出目录以包含在工件中

Copy remote resources to the output directory for inclusion in the artifact.

repository    资源库

帮助基于存储库的任务的插件

Plugin to help with repository-based tasks.

scm      

对当前项目执行SCM命令

Execute SCM commands for the current project.

scm-publish     

将您的Maven网站发布到scm位置

Publish your Maven website to a scm location.

stage   

协助发布分期和推广

Assists with release staging and promotion.

toolchains 

允许跨插件共享配置

Allows to share configuration across plugins.

使用TestNG

不支持的TestNG版本

- TestNG 5.14.3:格式不正确的pom.xml。

- TestNG 5.14.4和5.14.5:TestNG使用缺少的依赖项(org.testng:guice:2.0)。排除它可能会破坏一些功能。

配置TestNG

要开始使用TestNG,请在项目中包含以下依赖项(将版本替换为您要使用的版本)

<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.8</version>
<scope>test</scope>
</dependency>
</dependencies>

如果您使用的是较旧版本的TestNG(<= 5.11),依赖关系会改为:

<dependencies>
[...]
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.11</version>
<scope>test</scope>
<classifier>jdk15</classifier>
</dependency>
[...]
</dependencies>

注:如果您使用的是JDK 1.4的Javadoc注释为你的TestNG的测试,更换分类jdk15JDK14以上。

这是启动所需的唯一步骤 - 您现在可以在测试源目录(e,g。,src / test / java)中创建测试。只要它们根据默认值(如* IT.java命名,它们将作为TestNG测试由Failsafe运行。

如果要使用不同的命名方案,可以更改include参数,如“ 包含和排除测试”示例中所述

使用套件XML文件

另一个选择是使用TestNG套件的XML文件。这允许灵活配置测试运行。这些文件以正常方式创建,然后添加到Failsafe Plugin配置中:

<plugins>
[...]
<plugin>
<groupId> org.apache.maven.plugins </ groupId>
<artifactId> maven-failuresafe-plugin </ artifactId>
<version> 2.20 </ version>
<configuration>
<suiteXmlFiles >
<suiteXmlFile> testng.xml </ suiteXmlFile>
</ suiteXmlFiles>
</ configuration>
</ plugin>
[...]
</ plugins>

此配置将覆盖包含并排除模式并运行套件文件中的所有测试。

指定测试参数

您的TestNG测试可以使用@Parameters注释接受参数。您还可以将参数从Maven传递到TestNG测试中,方法是将其指定为系统属性,如下所示:

<plugins>
[...]
<plugin>
<groupId> org.apache.maven.plugins </ groupId>
<artifactId> maven-failuresafe-plugin </ artifactId>
<version> 2.20 </ version>
<configuration>
<systemPropertyVariables >
<propertyName> firefox </ propertyName>
</ systemPropertyVariables>
</ configuration>
</ plugin>
[...]
</ plugins>

有关在故障安全测试中设置系统属性的更多信息,请参阅系统属性

使用组

TestNG允许您对测试进行分组。然后,您可以执行一个或多个特定组。要使用Failsafe执行此操作,请使用groups参数,例如:

<plugins>
[...]
<plugin>
<groupId> org.apache.maven.plugins </ groupId>
<artifactId> maven-failuresafe-plugin </ artifactId>
<version> 2.20 </ version>
<configuration>
<groups > functest,perftest </ groups>
</ configuration>
</ plugin>
[...]
</ plugins>

同样,excludedGroups参数可以用于运行除一组特定组之外的所有其他参数。

并行运行测试

TestNG允许您并行运行测试,包括JUnit测试。为此,您必须设置并行参数,如果默认值为5,则可能会更改threadCount参数。例如:

</plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<parallel>methods</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
[...]
</plugins>

这对于可以具有高并发性的缓慢测试或者快速和粗略地评估测试和代码的独立性和线程安全性特别有用。

TestNG 5.10和插件版本2.19或更高版本允许您使用数据提供程序并行测试运行方法。

</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<properties>
<property>
<name>parallel</name>
<value>methods</value>
</property>
<property>
<name>dataproviderthreadcount</name>
<value>30</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

TestNG 6.9.8(JRE 1.7)和插件2.19或更高版本允许您并行运行套件。

</plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<file>src/test/resources/testng1.xml</file>
<file>src/test/resources/testng2.xml</file>
</suiteXmlFiles>
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
</configuration>
</plugin>
[...]
</plugins>

另请参阅叉选项和并行测试执行

Using Custom Listeners and Reporters

使用自定义的监听器和报告

X- 20045 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200:默认情况下,TestNG附加一些基本的监听器来生成HTML和XML报告。

不支持的版本: - TestNG 5.14.1和5.14.2:由于内部的TestNG问题,侦听器和记者不能与TestNG一起工作。请将TestNG升级到5.14.9或更高版本。注意:它可能会在将来的安全版本中修复。

您可以配置多个自定义监听器,如下所示:

<dependencies>
<dependency>
<groupId>your-testng-listener-artifact-groupid</groupId>
<artifactId>your-testng-listener-artifact-artifactid</artifactId>
<version>your-testng-listener-artifact-version</version>
<scope>test</scope>
</dependency>
</dependencies>
</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value> <!-- disabling default listeners is optional -->
</property>
<property>
<name>listener</name>
<value>com.mycompany.MyResultListener,com.mycompany.MyAnnotationTransformer,com.mycompany.MyMethodInterceptor</value>
</property>
<property>
<name>reporter</name>
<value>listenReport.Reporter</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

有关TestNG的更多信息,请参阅TestNG网站

您可以实现TestNG的侦听器接口org.testng.ITestListener在一个单独的测试工件-TestNG的侦听器神器带范围=测试,或在项目测试源代码src / test / java。您可以通过参数dependenciesToScan过滤测试工件,以将其类加载到surefire-testng提供程序的当前ClassLoader中。TestNG记者类应该实现org.testng.IReporter

详细程度

由于插件版本2.19或更高版本,可以在提供程序属性surefire.testng.verbose配置详细程度级别。详细程度在0到10之间,其中10是最详细的。您可以指定-1,这将使TestNG处于调试模式(不再切断堆栈跟踪和全部)。默认级别为0。

</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<properties>
<property>
<name>surefire.testng.verbose</name>
<value>10</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

自定义TestNG对象工厂

由于插件版本2.19和TestNG 5.7或更高版本,您可以通过实现org.testng.IObjectFactory自定义TestNG对象工厂,并将类名称绑定到提供者属性中的关键对象中:

</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<properties>
<property>
<name>objectfactory</name>
<value>testng.objectfactory.TestNGCustomObjectFactory</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

定制TestNG测试工厂

由于插件版本2.19和TestNG 5.9或更高版本,您可以通过实现org.testng.ITestRunnerFactory自定义TestNG工厂,并将类名称绑定到提供程序属性中的关键testrunfactory

</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<properties>
<property>
<name>testrunfactory</name>
<value>testng.testrunnerfactory.TestNGCustomTestRunnerFactory</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

在测试标签中运行'testnames'

只有匹配其中一个名称的test标签中定义的测试才会运行。在这个例子中,两个测试用完了7个; 即InstallTestATest。测试a-t3suite.xml中的任何测试不匹配。

</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<file>src/test/resources/suite.xml</file>
</suiteXmlFiles>
<properties>
<property>
<name>testnames</name>
<value>a-t1,a-t3</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>

测试套件'suite.xml':

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Component Tests" verbose="2" annotations="JDK">
<test name="a-t1" preserve-order="true" >
<classes>
<class name="server.InstallTest" />
<class name="server.ATest" />
</classes>
</test>
<test name="a-t2" preserve-order="true" >
<classes>
<class name="server.SCHTest" />
<class name="server.PRGTest" />
<class name="server.SIBBTest" />
<class name="server.EDNTest" />
<class name="server.PPVTest" />
</classes>
</test>
</suite>

运行TestNG和JUnit测试

TestNG 6.5.1及更高版本提供了在当前Maven项目中运行TestNG和JUnit 4.x的支持。所有你需要的是在POM中引入TestNG和JUnit依赖。

<依赖关系> 
<dependencies>
[...]
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
[...]
</dependencies>

您可能希望运行两个提供程序,例如surefire-junit47surefire -testng,并通过设置属性junit = false避免在surefire-testng提供程序中运行JUnit测试。

<plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20</version>
<configuration>
[...]
<properties>
<property>
<name>junit</name>
<value>false</value>
</property>
</properties>
<threadCount>1</threadCount>
[...]
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.20</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>2.20</version>
</dependency>
</dependencies>
</plugin>
[...]
</plugins>

clean

构建后清理

Clean up
after the build.

 

compiler     

编译Java源码

Compiles
Java sources.

 

Deploy

将构建的工件部署到远程存储库

Deploy
the built artifact to the remote repository.

failsafe故障安全

在隔离的类加载器中运行JUnit集成测试。

Run the
JUnit integration tests in an isolated classloader.

install

将构建的工件安装到本地存储库中

Install
the built artifact into the local repository.

resources  

将资源复制到输出目录以包含在JAR中

Copy the
resources to the output directory for including in the JAR.

site

生成当前项目的站点

Generate
a site for the current project.

surefire

在隔离的类加载器中运行JUnit单元测试

Run the
JUnit unit tests in an isolated classloader.

verifier  验证

用于集成测试 - 验证某些条件的存在

Useful
for integration tests - verifies the existence of certain conditions.

Packaging types/tools   包装类型/工具

这些插件涉及打包各种工件类型

These
plugins relate to packaging respective artifact types.

ear

从当前项目生成EAR

Generate
an EAR from the current project.

ejb 

从当前项目构建EJB(和可选客户端)

Build an
EJB (and optional client) from the current project.

jar  

从当前项目构建JAR

Build a
JAR from the current project.

rar 

从当前项目构建RAR

Build a
RAR from the current project.

war

从当前项目构建WAR

Build a
WAR from the current project.

app-client/acr    应用程序的客户机/ ACR

从当前项目构建JavaEE应用程序客户端

Build a
JavaEE application client from the current project.

shade  

从当前项目构建Uber-JAR,包括依赖关系

Build an
Uber-JAR from the current project, including dependencies.source

source

从当前项目构建源JAR

Build a
source-JAR from the current project.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Reporting plugins   报告插件

生成报告的插件被配置为POM中的报告,并在站点生成周期中运行

Plugins
which generate reports, are configured as reports in the POM and run under the
site generation lifecycle.

changelog  更新日志

从您的SCM生成最近更改的列表

Generate
a list of recent changes from your SCM.

changes     变化

从问题跟踪器或更改文档生成报告

Generate
a report from an issue tracker or a change document.

checkstyle  检查样式

生成Checkstyle报告(代码规范情况报告)

Generate
a Checkstyle report.

doap    

从POM生成项目描述(DOAP)文件

Generate
a Description of a Project (DOAP) file from a POM.

docck   

文档检查插件

Documentation
checker plugin.

javadoc

为项目生成Javadoc

Generate
Javadoc for the project.

jdeps    

在项目中运行JDK的JDeps工具

Run
JDK's JDeps tool on the project.

jxr  

生成源交叉引用

Generate
a source cross reference.

linkcheck   

生成项目文档的Linkcheck报告

Generate
a Linkcheck report of your project's documentation.

PMD

生成PMD报告

pmd Generate a PMD report.

project-info-reports  项目信息的报告

生成标准项目报告

Generate
standard project reports.

surefire-report

根据单元测试的结果生成报告

Generate
a report based on the results of unit tests.

/////////////////////////////////////////////////////////////////////////////////////////////////////////

Tools    

默认情况下,这些是通过Maven可用的各种工具

These
are miscellaneous tools available through Maven by default.

ant

为项目生成Ant构建文件

Generate
an Ant build file for the project.

antrun

从构建阶段运行一组ant任务

Run a
set of ant tasks from a phase of the build.

archetype   原型

从原型生成骨架项目结构

Generate
a skeleton project structure from an archetype.

assembly    部件

构建源和/或二进制文件的汇编(分发)。

Build an
assembly (distribution) of sources and/or binaries.

dependency      依赖

依赖操纵(复制,解压缩)和分析

Dependency
manipulation (copy, unpack) and analysis.

enforcer      实施者

环境约束检查(Maven Version,JDK等),用户自定义规则执行

Environmental
constraint checking (Maven Version, JDK etc), User Custom Rule

Execution.

GPG

为工件和pom创建签名

Create
signatures for the artifacts and poms.

help     

获取有关项目工作环境的信息

Get
information about the working environment for the project.

invoker 调用

运行一组Maven项目并验证输出

Run a
set of Maven projects and verify the output.

Jarsigner

标识或验证项目工件

Signs or
verifies project artifacts.

patch    补丁

使用gnu补丁工具将补丁文件应用到源代码

Use the
gnu patch tool to apply patch files to source code.

pdf

生成项目文档的PDF版本

Generate
a PDF version of your project's documentation.

plugin   插件

为源树中找到的任何moj创建Maven插件描述符,以包含在JAR中。

Create a
Maven plugin descriptor for any mojos found in the source tree, to include in
the

JAR.

release发布

释放当前项目 - 在SCM中更新POM和标记

Release
the current project - updating the POM and tagging in the SCM.

remote-resources      远程资源

将远程资源复制到输出目录以包含在工件中

Copy
remote resources to the output directory for inclusion in the artifact.

repository    资源库

帮助基于存储库的任务的插件

Plugin
to help with repository-based tasks.

scm      

对当前项目执行SCM命令

Execute
SCM commands for the current project.

scm-publish     

将您的Maven网站发布到scm位置

Publish
your Maven website to a scm location.

stage   

协助发布分期和推广

Assists
with release staging and promotion.

toolchains  

maven相关说明,以及使用Testng相关的更多相关文章

  1. 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件

    [源码下载] 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件 作者:webabcd 介绍 ...

  2. day06-Python运维开发基础(字符串格式化与相关的函数、列表相关的操作)

    1. 字符串相关的操作与格式化 # ### 字符串相关操作 # (1)字符串的拼接 + var1 = "亲爱的," var2 = "男孩" res = var1 ...

  3. testng相关的Annotation注释方法,

    2 - Annotation这里是TestNG中用到的annotation的快速预览,还有它们的属性. @BeforeSuite: 被注释的方法将在所有测试运行前运行,方法将只运行一次@AfterSu ...

  4. 使用maven profile实现多环境配置相关打包

    项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署,命令为: mvn package -P dev 在eclipse中可以右击选项run con ...

  5. 【Java】Maven安装、Eclipse配置以及相关错误解决集合

    作者呕血总结,下面写的每一个错误我都遇过 · Maven安装 · Eclipse配置 · Maven安装 安装前请确保已经装有JDK. 一. 准备Maven程序包 到官网https://maven.a ...

  6. selenium2中TestNG相关解释

    testNg官网:http://testng.org/doc/documentation-main.html 新建testNG class的时候,同时也新建了一个TestNG.xml的文件. 此xml ...

  7. Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试

    内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...

  8. 【相关网站 - 01】- Java 相关网站

    一.官方网站 1. Java 官方网站 https://www.java.com/zh_CN/ 2. Spring 官方网站 http://spring.io/ 1. Spring Framework ...

  9. UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作

     1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...

随机推荐

  1. 三 volatile关键字

    一:内存模型: 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入.由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问 ...

  2. 网站跳转到Apache 2 Test Page powered by CentOS

    原来是80端口被占用的问题 解决80端口占用问题 sudo fuser -n tcp -k 覆盖原来的httpd cp /usr/local/apache2/bin/apachectl /etc/in ...

  3. linux日常管理-free查看内存工具

    查看内存 命令 free  默认是k为单位 也可以指定 m为单位 或者G为单位,这个不精准 total 总容量 used  使用了多少 free  剩余多少 看第二行.第一行是物理内存,加上虚拟内存b ...

  4. WSGI 简介(使用python描述)

    WSGI 简介 背景 Python Web 开发中,服务端程序可以分为两个部分,一是服务器程序,二是应用程序.前者负责把客户端请求接收,整理,后者负责具体的逻辑处理.为了方便应用程序的开发,我们把常用 ...

  5. Redis简介及基础知识

    一.Redis简介 Redis是什么?两句话可以做下概括: 1. 是一个完全开源免费的key-value内存数据库 2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 string( ...

  6. CodeForces 1107F. Vasya and Endless Credits

    题目简述:给定 $n \leq 500$ 个贷款方式,其中第$i$个贷款额为$a_i$元,需要$k_i$个月偿还,每月还贷$b_i$元.在每个月月初可申请其中一个贷款,而在每个月月底时需要还贷.求:( ...

  7. Luogu 4768 [NOI2018]归程

    并不会写Kruskal重构树,两个$log$跑得比较卡. 首先考虑一下没有强制在线的要求怎么办,有一个比较容易想到的做法就是先跑一遍最短路,然后把所有边按照海拔从大到小排序,把所有询问的海拔也从大到小 ...

  8. location.assign()、location.href、location.replace(url)的不同

    window.location.assign(url) : 加载 URL 指定的新的 HTML 文档. 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面. w ...

  9. spring-cloud 服务优雅下线

      在集群环境下,zuul后面的api服务一般会有多个实例,当下线某个实例时,如果使用 kill -9 pid 的方式,会造成这个服务在eureka中还存在,请求还会路由到这个服务上面,造成500,所 ...

  10. 【mysql-索引+存储过程+函数+触发器-更新。。。】

    BaseOn ===>MySQL5.6 一:索引 1:创建索引: create index nameIndex on seckill(name) ; 2:查看索引: show index fro ...