日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven scope/site/effective-pom/assembly

發(fā)布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven scope/site/effective-pom/assembly 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?point1:<dependency>依賴范圍  

<scope/>中進行配置

??? --compile:默認配置,對編譯/測試/運行三種都有效。

??? --test:只對測試有效。

??? --runtime:測試和運行時有效,編譯時無效。比如要使用JDBC驅動時,只在運行時使用它就好。

??? --provided:編譯和測試時有效,運行時無效。舉個場景,在有的web項目中,會用到servlet-api這個依賴,在本地編譯和測試都沒有問題,但是當把war包部署到tomcat時,會報錯:

Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name "javax/servlet/ServletContext"at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:800)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)at java.net.URLClassLoader.access$100(URLClassLoader.java:71)at java.net.URLClassLoader$1.run(URLClassLoader.java:361)at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

產(chǎn)生的原因就是tomcat也有這個servlet-api,所以添加:

<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>3.0-alpha-1</version><scope>provided</scope> </dependency>

可以讓servlet-api只在編譯和測試時有效,而當tomcat啟動后就不生效,非常方便。

?----------------------------------------------------------------------------------

?point2:effective-pom

???? --并不是說我們自己pom.xml文件中所定義的依賴就是整個工程的依賴,它還包含了超級pom中的依賴(安裝包中的lib下maven-model-builder-3.0.5.jar中規(guī)定了核心的依賴),所以真正生效的pom是我們自定義和超級pom以及可能的其他pom(父pom)等的疊加。by the way,在超級pom中還定義了中央庫的位置,所以默認的settings.xml中并不用指定到哪里下載這些依賴。

??----------------------------------------------------------------------------------

point3:mvn site

  這可以生成一個站點,包含了此項目的一些信息,比較常見的mvn cobertura:cobertura可以將項目的代碼覆蓋率統(tǒng)計并展示出來,進入site目錄,點開index.html可以看到:

? ----------------------------------------------------------------------------------?

point4:打包命令--

  maven提供了完備的打包機制。assembly插件常用的套件描述符包括

    bin----將jar包打zip包

    jar-with-dependencies----帶有依賴的jar包

    project----將工程源代碼打包

    src----將工程src目錄下的源代碼打包

E:\Users\BruceChan\workspace\dev01\TestMaven>mvn assembly:single -DdescriptorId=project [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.changjiang.test:TestMaven:jar:0.0.1-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 67, column 12 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building TestMaven 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-assembly-plugin:2.2-beta-5:single (default-cli) @ TestMaven --- [INFO] Building tar : E:\Users\BruceChan\workspace\dev01\TestMaven\target\TestMaven-0.0.1-SNAPSHOT-project.tar.gz [INFO] Building tar : E:\Users\BruceChan\workspace\dev01\TestMaven\target\TestMaven-0.0.1-SNAPSHOT-project.tar.bz2 [INFO] Building zip: E:\Users\BruceChan\workspace\dev01\TestMaven\target\TestMaven-0.0.1-SNAPSHOT-project.zip [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.702s [INFO] Finished at: Thu Aug 25 10:05:22 CST 2016 [INFO] Final Memory: 20M/244M [INFO] ------------------------------------------------------------------------

轉載于:https://www.cnblogs.com/bruceChan0018/p/5784315.html

總結

以上是生活随笔為你收集整理的maven scope/site/effective-pom/assembly的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。