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

打開APP
userphoto
未登錄

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

開通VIP
Maven Weed
Maven Weed
學習、使用Maven的過程中,親身遇到或看到的一些問題的解決方法。Maven有不少Bug,大家使用時一定要小心。(2007.02.10最后更新)

向本地倉庫安裝文件
    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
-DgeneratePom=true -DcreateChecksum=true(需要使用maven-install-plugin 2.2-SNAPSHOT)

打包時,不在META-INF中生成maven目錄
    使用Maven打包(mvn package)時,默認地會在META-INF中生成一個目錄maven,里面是一個pom和一個屬性文件。如果不想生成這個目錄,需要在POM中進行如下配置:
以對于一般應用程序打包,即制作jar包為例
<build>
 
<plugins>
   
<plugin>
     
<groupId>org.apache.maven.plugins</groupId>
     
<artifactId>maven-jar-plugin</artifactId>
     
<configuration>
       
<archive>
         
<addMavenDescriptor>false</addMavenDescriptor>
       
</archive>
     
</configuration>
   
</plugin>
 
</plugins>
</build>
如果你在打jar包(mvn package)時,報如下錯誤:
[INFO] Failed to configure plugin parameters for: org.apache.maven.plugins:maven-jar-plugin:2.0
Cause: Cannot find setter nor field in org.apache.maven.archiver.MavenArchiveConfiguration  for ‘a(chǎn)ddMavenDescriptor‘ 
這是由于maven-jar-plugin的版本不夠高(很可能是2.0版本),需要升級到最新的2.1版本。運行命令mvn -U package,會先下載最新版本,再執(zhí)行打包操作。
    類似的,對于制作war,ear包,只需要將artifactId換成對應的plugin( maven-war-plugin ,
maven-ear-plugin )就可以了。

Javadoc中文亂碼
    中文操作系統(tǒng)中,JDK1.5.0的Javadoc自動默認支持中文,而且頁面中的條目名也都默認為中文顯示(在之前的JDK中,這些條目名都默認為英文)。 如是在這種情況下使用命令mvn javadoc:javadoc生成Javadoc,則這些條目名將成為亂碼。
    解決方法:讓javadoc插件使用UTF16或Unicode字符集。具體配置的形式如下:
<build>
 
<plugins>
   
<plugin>
      
<groupId>org.apache.maven.plugins</groupId>
      
<artifactId>maven-javadoc-plugin</artifactId>
      
<configuration>
        
<charset>UTF16</charset>
      
</configuration>
    
</plugin>
 
</plugins>
</build>

Scope
Scope表示了某個依賴關系的適用范圍(作用域),共有5個scope。
compile: 默認的適用范圍,表示該依賴關系要應用于所有的classpath。
provided: 該適用范圍非常像compile適用范圍。但它表示該依賴關系已經(jīng)由JDK或某個容量提供,如javax.servlet。
runtime:表示該依賴關系不用于編譯階段,而只使用于運行時階段,如apache jakarta commons。
test:表示該依賴關系并不用于實際的應用程序本身,而是該應用的測試程序的編譯與運行,如junit。
system:該依賴關系類似于provided,但必須顯示地表示是哪一個容器提供了這個artifact。無法在倉庫中找到該artifact。
注意:
[1]具有compile或runtime適用范圍的依賴關系中的jar文件,制作war文件時將會被放入WEB-INF/lib目錄中。
[2]不推薦使用system適用范圍。

將mvn.bat配置為Eclipse外部工具
為了能夠在Eclipse環(huán)境中運行mvn.bat,需要將它配置為一個外部工具(external tool)。在我的
Eclipse Weed(配置外部工具)一文中已經(jīng)提到了如何配置Eclipse External Tools(可先參見該文)。本主題將具體講述如何將mvn.bat的package Build周期短語配置為外部工具。
[1]主菜單Run-->External Tools-->External Tools...
[2]先選中Program項,再點擊左上角的New launch configuration按鈕
[3]Name文本框中輸入該外部工具的名稱“MvnPackage”
[4]通過Browser File System...按鈕,向Location文本框中輸入mvn.bat文件的絕對路徑
[5]通過Variables...按鈕,選擇project_loc,將向Working Directory文本框中輸入${project_loc}
[6]在Augments文本域中輸入package
這樣當你選中一個pom.xml文件后,再運行該外部工具,就相當于對該POM文件文件執(zhí)行mvn package命令。

制作war文件時,過濾文件
使用maven-war-plugin制作war文件時,它會先將所有可能用于制作war的內容放入target/artifactId-version目錄(標準目錄結構)下,然后再將這些文件進行打包。這樣就有兩種方法進行文件過濾:[1]使期望被過濾的文件一開始就不被放入 target/artifactId-version目錄,即使它成為不可能的文件;[2]在制作war文件時,不將期望被過濾的文件加入包中。
[1]實現(xiàn)第一種方法,要對dependency進行配置。將不希望加入包的artifact放入exclusion
參數(shù)中,如下腳本所示:
<dependency>
    
<groupId>commons-configuration</groupId>
    
<artifactId>commons-configuration</artifactId>
    
<exclusions>
        
<exclusion>
            
<groupId>dom4j</groupId>
            
<artifactId>dom4j</artifactId>
        
</exclusion>
    
</exclusions>
</dependency>
[2]實現(xiàn)第二種方法,要對maven-war-plugin進行配置,將
不希望加入包的資源文件(不再稱之為artifact)放入warSourceExcludes參數(shù)中,如下腳本所示:
<build>
    
<plugins>
        
<plugin>
            
<groupId>org.apache.maven.plugins</groupId>
            
<artifactId>maven-war-plugin</artifactId>
            
<version>2.0.1</version>
            
<configuration>
                
<warSourceExcludes>WEB-INF/lib/dom4j-1.4.jar</warSourceExcludes>
            
</configuration>
        
</plugin>
    
</plugins>
</build>
注意:上述方法都不僅僅是過濾掉dom4j的jar文件,它還會過濾掉dom4j所依賴的其它文件(artifact)。

當加載插件時拋NullPointerException
如果倉庫中有某個插件的jar文件有問題,則會拋出這樣的異常。遇到這樣的問題時,必須將這個有問題的插件清除。
可以在執(zhí)行參數(shù)中加上
-X(如mvn -X compile)來獲得加載插件的過程,從中可能會發(fā)現(xiàn)問題插件。如果還不行,則使用一個新的倉庫,再次執(zhí)行工程。

Install或Deploy源代碼
<project>
    <build>
        <plugins>
            <plugin>
                <inherited>true</inherited>
                <groupId>org.apache.maven.plugins</groupId>
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服