maven經常使用插件記錄

1.忽略單元測試失敗html

一般,你會開發一個帶有不少失敗單元測試的系統。 若是你正在實踐測試驅動開發(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>

插件文檔:http://maven.apache.org/plugins/maven-surefire-plugin/testmojo.htmlweb

插件參數表達式:apache

testFailureIgnore Set this to true to ignore a failure during testing. Its useapp

* Type: boolean
* Required: No
* Expression: ${maven.test.failure.ignore}webapp

這個表達式能夠從命令行經過 -D 參數設置。maven

$ mvn test -Dmaven.test.failure.ignore=true

2.跳過單元測試ide

命令行模式:單元測試

$ mvn install -Dmaven.test.skip=true
...
[INFO] [compiler:testCompile]
[INFO] Not compiling test sources
[INFO] [surefire:test]
[INFO] Tests are skipped.
...

配置方式:測試

<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>

3.Maven Assembly插件是一個用來建立你應用程序特有分發包的插件ui

你可使用 Maven Assembly 插件以你但願的任何形式來裝配輸出,只需定義一個自定義的裝配描述符。

要配置 Maven Assembly 插件, 咱們須要在 pom.xml 中的build 配置中添加以下的 plugin 配

配置 Maven 裝配描述符

<project>
[...]
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>

添加好這些配置之後,經過運行 mvn assembly:assembly 來構建這個裝配。

$ mvn install assembly:assembly

咱們會獲得target/simple-weather-1.0-jar-with-dependencies.jar。

jar-with-dependencies 格式建立一個包含全部 simple-weather 項目的二進制代碼以
及全部依賴解壓出來的二進制代碼的 JAR 文件。 這個略微很是規的格式產生了一個 9
MiB 大小的 JAR 文件,包含了大概 5290 個類。 可是它確實給那些使用 Maven 開發
的應用程序提供了一個易於分發的格式。

4.Maven Jetty插件

<project>
[...]
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
[...]
</project>

啓動jetty的命令: mvn jetty:run

5.依賴範圍:provided

表示此jar文件已經由WEB容器提供,不須要打入到war包

<project>
[...]
<dependencies>
[...]
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_2.4_spec</artifactId>
<version>1.1.1</version>
<scope>provided</scope> </dependency> </dependencies> [...] </project>
相關文章
相關標籤/搜索