国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
maven學習筆記

Maven 的核心其實不做什么實際的事情,除了解析一些 XML 文檔,管理生命周期與插件之外。Maven 被設計成將主要的職責委派給一組 Maven 插件,這些插件可以影響 Maven 生命周期,提供對目標的訪問。絕大多數 Maven 的動作發(fā)生于Maven 插件的目標,如編譯源碼,打包二進制代碼,發(fā)布站點和其它構建任務。

一個Maven插件是一個單個或多個目標的集合,Maven插件的例子有一些簡單但核心的插件,像Jar插件它包含了一組創(chuàng)建JAR文件的目標,Compiler插件,它包含了一組編譯源代碼和測試代碼的目標,或者Surefire插件,它包含一組運行單元測試和生成測試報告的目標。

一個目標是一個明確的任務,它可以作為單獨的目標運行,或者作為一個大的構建的一部分和其它目標一起運行,目標的例子包括Compiler插件中的目標,它用來編譯項目中的所有目標,用來運行單元測試。目標通過配置屬性進行配置,以用來定制行為。例如,Compiler插件的compile目標定義了一組配置參數,它們允許你設置目標JDK版本或者選擇是否用編譯優(yōu)化。

1. help插件

你需要一個工具來幫助你理解一些Maven使用的模型,以及某個插件有什么可用的目標。Maven Help插件能讓你列出活動的Maven Profile,顯示一個實際POM(effective POM),打印實際settings(effective settings),或者列出Maven插件的屬性。  Maven Help 插件有四個目標。前三個目標是—— active-profiles, effective-pom 和effective-settings —— 描述一個特定的項目,它們必須在項目的目錄下運行。 最后一個目標—— describe ——相對比較復雜,展示某個插件或者插件目標的相關信息。
help:active-profiles 列出當前構建中活動的Profile(項目的,用戶的,全局的)。

help:effective-pom 顯示當前構建的實際POM,包含活動的Profile。

help:effective-settings 打印出項目的實際settings, 包括從全局的settings和用戶級別settings繼承的配置。

help:describe 描述插件的屬性。它不需要在項目目錄下運行。但是你必須提供你想要描述插件的 groupId 和 artifactId。
當你開始使用Maven。

你會試圖獲得Maven插件的信息:插件如何工作?配置參數是什么?目標是什么? 你會經常使用 help:describe 目標來獲取這些信息。通過 plugin 參數你可以指定你想要研究哪個插件,你可以傳入插件的前綴(如help 插件就是 maven-help-plugin),或者可以是 groupId:artifact[:version]這里 version 是可選的。

比如, 下面的命令使用 help 插件的目標來輸出Maven Help 插件的信息。

  1. mvn help:describe -Dplugin=help  

通過設置plugin參數來運行describe目標,輸出為該插件的Maven坐標,目標前綴,和該插件的一個簡要介紹。如果你想要 Help 插件輸出完整的帶有參數的目標列表,只要運行帶有參數full的help:describe 目標就可以了,

  1. mvn help:describe -Dplugin=help -Dfull  
該選項能讓你查看插件所有的目標及相關參數。但是有時候這些信息顯得太多了。這時候你可以獲取單個目標的信息,設置 mojo 參數和參數。下面的命令列出了Compiler 插件的compile目標的所有信息(在maven里一個插件目標也被認為是一個mojo)

  1. mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull  

2. archetype插件

3. exec插件

exec 插件允許你運行 Java 類和其它腳本。 它不是 Maven 核心插件,但它可以從Codehaus3 的 Mojo4 項目得到。想要查看 Exec 插件的完整描述,運行:mvn help:describe -Dplugin=exec -Dfull

這會列出所有 Maven Exec 插件可用的目標。 Help 插件同時也會列出 Exec 插件的有效參數,如果你想要定制 Exec 插件的行為,傳入命令行參數,你應該使用help:describe 提供的文檔作為指南。

 Exec 插件讓我們能夠在不往 classpath 載入適當的依賴的情況下,運行這個程序。 在任何其它的構建系統(tǒng)能夠中,我們必須復制所有程序依賴到類似于 lib/ 的目錄,這個目錄包含一個 JAR 文件的集合。

4. dependency插件

maven Dependency 插件來打印出已解決依賴的列表。
mvn dependency:analyze
mvn dependency:resolve
將會打印出最終的你項目編譯所基于的所有依賴的組合
mvn dependency:tree 
將打印項目的整個依賴樹想要查看完整的依賴蹤跡,包含那些因為沖突或者其它原因而被拒絕引入的構件,
打開 Maven 的調試標記運行mvn install -X
有一個目標比較有用,就是將maven項目的依賴jar到出來:
mvn dependency:copy-dependencies
a. 導出到默認目錄 targed/dependency     
從Maven項目中導出項目依賴的jar包:進入工程pom.xml 所在的目錄下,執(zhí)行如下命令:
  1. mvn dependency:copy-dependencies  
或在eclipse中,選擇項目的pom.xml文件,點擊右鍵菜單中的Run As,見下圖紅框中,在彈出的Configuration窗口中,
輸入 dependency:copy-dependencies 后,點擊運行   
maven項目所依賴的jar包會導出到targed/dependency目錄中。
b.導出到自定義目錄中
在maven項目下創(chuàng)建lib文件夾,輸入以下命令:即可將maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下
  1. mvn dependency:copy-dependencies -DoutputDirectory=lib  

同時置依賴級別,通常使用compile級別
  1. mvn dependency:copy-dependencies -DoutputDirectory=lib   -DincludeScope=compile  

5. surefire插件 

Maven Surefire 插件有一個 test 目標,該目標被綁定在了 test 階段。 
test 目標執(zhí)行項目中所有能在 src/test/java 找到的并且文件名與 **/Test*.java, **/*Test.java 匹配的所有單元測試 ,
在 Maven Surefire 插件執(zhí)行 JUnit 測試的時候,它同時也在 /target/surefire-reports 
目錄下生成 XML 和常規(guī)文本報告。 
如果你的測試失敗了,你可以去查看這個目錄,里面有你單元測試生成的異常堆棧信息和錯誤信息。
當Maven 遇到一個測試失敗,它默認的行為是停止當前的構建。 如果你希望繼續(xù)構建項目,即使 Surefire 插件
遇到了失敗的單元測試,你就需要設置 Surefire 的testFailureIgnore 這個配置屬性為 true。
  1. <project>  
  2.     [...]  
  3.     <build>  
  4.         <plugins>  
  5.             <plugin>  
  6.                 <groupId>org.apache.maven.plugins</groupId>  
  7.                 <artifactId>maven-surefire-plugin</artifactId>  
  8.                 <configuration>  
  9.                     <testFailureIgnore>true</testFailureIgnore>  
  10.                 </configuration>  
  11.             </plugin>  
  12.         </plugins>  
  13.     </build>  
  14.     [...]  
  15. </project>  
這個表達式可以從命令行通過 -D 參數設置。mvn test -Dmaven.test.failure.ignore=true
Maven 提供了跳過單元測試的能力,只需要使用 Surefire 插件的 skip 參數。 在命令行,只要簡單的給任何目標添加
maven.test.skip 屬性就能跳過測試:mvn install -Dmaven.test.skip=true
另一種配置 Maven 跳過單元測試的方法是給你項目的 pom.xml 添加這個配置
  1. <project>  
  2.     [...]  
  3.     <build>  
  4.         <plugins>  
  5.             <plugin>  
  6.                 <groupId>org.apache.maven.plugins</groupId>  
  7.                 <artifactId>maven-surefire-plugin</artifactId>  
  8.                 <configuration>  
  9.                     <skip>true</skip>  
  10.                 </configuration>  
  11.             </plugin>  
  12.         </plugins>  
  13.     </build>  
  14.     [...]  
  15. </project>  

6. assembly插件

Maven Assembly 插件是一個用來創(chuàng)建你應用程序特有分發(fā)包的插件。 你可以使用 Maven Assembly 插件

以你希望的任何形式來裝配輸出,只需定義一個自定義的裝配描述符,即可生成一個可分發(fā)的JAR文件,該文件包含

了項目的二進制文件和所有的依賴。

要配置 Maven Assembly 插件, 需要在 pom.xml 中的build 配置中添加如下的 plugin 配置。如下圖所示

  1. <project>  
  2.     [...]  
  3.     <build>  
  4.         <plugins>  
  5.             <plugin>  
  6.                 <artifactId>maven-assembly-plugin</artifactId>  
  7.                 <configuration>  
  8.                     <descriptorRefs>  
  9.                         <descriptorRef>jar-with-dependencies</descriptorRef>  
  10.                     </descriptorRefs>  
  11.                 </configuration>  
  12.             </plugin>  
  13.         </plugins>  
  14.     </build>  
  15.     [...]  
  16. </project>  
添加好這些配置以后,你可以通過運行 mvn assembly:assembly來構建這個裝配。將工程依賴的jar包和工程都打成一個jar打包

在 target/***-1.0-jar-with-dependencies.jar 裝配好之后, 我們可以在命令行重新運行 Main 類

java -cp **-1.0-jar-with-dependencies.jar *.*.Main

7. jetty插件

8. tomcat插件

9. source插件

10. compiler插件

用于編譯源代碼,默認在compile階段被調用。兩個goal,compiler:compile/compiler:testCompile

windows平臺默認使用GBK編碼,如果工程編碼為utf8,也需要在compiler插件中指出,否則按GBK編碼,也會出問題

  1. <plugin>  
  2.     <groupId>org.apache.maven.plugins</groupId>  
  3.     <artifactId>maven-compiler-plugin</artifactId>  
  4.     <version>3.3</version>  
  5.     <configuration>  
  6.         <!--源碼的Java版本-->  
  7.         <source>1.7</source>  
  8.         <!--運行環(huán)境的Java版本-->  
  9.         <target>1.7</target>  
  10.     <encoding>UTF8</encoding>  
  11.     </configuration>  
  12. </plugin>  

11、Resource插件

  1. <filters>  
  2.             <filter>${user.home}/asssd.properties</filter>  
  3.         </filters>  
  4.         <resources>  
  5.             <resource>  
  6.                 <directory>src/main/resources</directory>  
  7.                 <filtering>true</filtering>  
  8.                 <includes>  
  9.                     <include>**/*</include>  
  10.                 </includes>  
  11.             </resource>  
  12.             <resource>  
  13.                 <directory>src/main/java</directory>  
  14.                 <includes>  
  15.                     <include>**.xml</include>  
  16.                 </includes>  
  17.             </resource>  
  18.         </resources>  
運行打包命令時,將src/main/resources中的所有文件和src/main/java目錄下的所有.xml文件打到jar包中。
其中filters過濾器的作用是將所有引用文件中的${變量名稱},替換成antx.properties文件中的變量值。要使用過濾器時,首先需要設置過濾器:
<filters>    
       <filter>${user.home}/antx.properties</filter>
</filters>
然后再啟動過濾器, true需要過濾,false不需要過濾:
<filtering>true</filtering>

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Maven 2.0:編譯、測試、部署、運行
Maven 那點事兒
Java SpringBoot 應用使用命令行 mvn spring-boot run 啟動的原理
maven
使用maven 容易遇到的異常問題
如何將maven項目打包成可執(zhí)行的jar
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服