1. 程式人生 > >使用maven打包時需要注意的問題

使用maven打包時需要注意的問題

         現在有非常多的專案都用maven來管理jar包、甚至用來打包的也不少,但是用maven來打包時會有點小問題,下面來總結一下,個人在使用maven打包時遇到的問題以及解決方法。

1.編譯問題

       問題: 在編譯.java檔案生成.class檔案的時候,首先要解碼.java檔案儲存的位元組流,這需要我們正確指定編碼字元流生成該位元組流過程中使用的編碼方案,否則會出現意想不到的錯誤。例如,在解碼階段使用的是GBK的方式,但是在編譯階段使用的是UTF-8的方式,這樣的話,會出問題。

       解決辦法:使用maven-compiler-plugin外掛去指定解碼時的編碼方案。具體配置可以參照:

Maven中配置maven-compiler-plugin外掛

2.測試問題

       問題:現在的專案基本上都有單元測試,但是如果使用預設的單元測試的實現方案,很多功能就實現不了。例如:需要在maven打包時,不執行測試用例;測試時,我只測試“測試用例1”、“測試用例2”但不測試“測試用例3”。這些比較常用的場景就實現不了。

       解決辦法:使用maven-surefire-plugin外掛自定義單元測試的實現方案。具體配置可以參照:maven-surefire-plugin自定義配置

3.非.java打包問題

        問題: 使用maven打包的時候,maven只會把.java編譯出來的.class檔案打到相應的目錄,但是其他檔案,例如是xml、屬性檔案等都不會打到相應的目錄下

        解決辦法:配置resources或者外掛的方式把指定的檔案放到war包中。具體配置可以參照:maven資原始檔的相關配置

相關推薦

使用maven打包需要注意的問題

         現在有非常多的專案都用maven來管理jar包、甚至用來打包的也不少,但是用maven來打包時會有點小問題,下面來總結一下,個人在使用maven打包時遇到的問題以及解決方法。 1.編譯問題        問題: 在編譯.java檔案生成.class檔案的時

maven打包去除不需要的jar包策略

在Maven1中,需要把依賴所需要的包每個列出。這對於使用類似如Hibernate的使用者來說所操的心太多了,而且也不方便。在Maven2中實現了傳遞依賴,如此對於Hibernate所依賴的包,Maven2會自動下載,開發人員只需關心Hibernate即可。所以可以看出列出所需要

使用webpack打包.css檔案需要注意的事項

由於原本的webpack沒有打包.css檔案的模組檔案,因此需要通過npm來安裝css-loader。 在當前專案目錄下使用命令列工具,輸入: npm install css-loader --save-dev安裝成功後,再在要打包的檔案裡(例如在js檔案裡)新增程式碼:r

maven 打包動態替換properties資源文件中的配置值

mave tools false sof get per 執行 ces pre pom build節點下面添加resource配置: [html] view plain copy <resources>

Maven打包出現“Show Console View”錯誤彈出框,錯誤詳情為“An internal error has occurred. java.lang.NullPointerException”的解決方法

開開 exceptio 技術 point org ali ava src cor 今天為項目打包時出現了下面的錯誤提示: 打開Details裏面寫的是“An internal error has occurred. java.lang.NullPointerExcepti

eclipse使用maven打包去掉測試類

size efi pom maven打包 clip 配置 pid code xml文件 eclipse使用maven打包時去掉測試類 在pom.xml文件中增加如下配置: <plugin> <groupId>org.apache.mav

maven打包出現打不了包的問題

artifact com false pre tput ase con manifest direct <build> <plugins> <plugin> <groupId>org.apache

maven 打包第三方jar 問題

絕對路徑 div 問題 artifact aging code pan 打包 end 問題:maven 工程在webapp 下lib 引入了第三方jar 包,無法打成war 包 原因:maven 工程打包時要在倉庫檢查jar 全不全 解決:將第三方jar 包上傳到本地倉庫

詳解關於Vue2.0路由開啟keep-alive需要注意的地方

Vue2.0 做應用必有的需求就是頁面資料需要做快取,不用每次進入頁面都要把資料重新請求一遍,每次頁面切換都有段等待資料相應時間,這個使用者體驗可想有多麼蛋疼,所以頁面快取是必要的,啥時候需要更新頁面資料呢?可以監聽狀態變化,或者是手動下拉重新整理重新請求資料,醬紫,我想使用者體驗會做的更好。 keep-a

maven打包包含本地jar

專案中需要使用maven的打包工具,生成zip壓縮包,使用的外掛是assembly-plugin。因為一些特殊的原因,需要使用一些本地的jar進行依賴,載入外部jar後編碼過程中沒有任何問題,但是打包時一直報“程式包不存在”。 思考一下:Maven本質上是一個外掛框架,它的核心並不執行任何具體的構建任務,所

安裝了JDK1.8後,配置了環境變數,但是Maven打包,依然讀取的是JDK1.6的問題解決辦法

     問題描述:使用maven對springboot打包時,報瞭如下錯誤,      錯誤描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compil

八大基本變數在賦值需要注意的一個原則

java中的變數型別: 1.數值型變數: byte    short    int    long(長度排序) 2.字元型別: char(單個字元)   String(字串) 3.浮點型別: float(單精

QGraphicsItem使用訊號槽需要注意的事項

1. 繼承QGraphicsItem的子類需要首先繼承自QObjectd再繼承QGraphicsItem 2. 在子類標頭檔案方需要新增宣告 Q_OBJECT 3. 需要重新編譯 class MyItem : public QObject, public QGraphicsI

Vue2.0 路由開啟 keep-alive 需要注意的地方

Vue2.0 做應用必有的需求就是頁面資料需要做快取,不用每次進入頁面都要把資料重新請求一遍,每次頁面切換都有段等待資料相應時間,這個使用者體驗可想有多麼蛋疼,所以頁面快取是必要的,啥時候需要更新頁面資料呢?可以監聽狀態變化,或者是手動下拉重新整理重新請求資料,醬紫,我想使用者體驗會做的更

網站內部更新文章需要注意以下要點

1文章的原創性大家都知道,搜尋引擎非常喜歡原創文章。最好花點時間寫些原創文章。一篇原創文章值得十次重印和偽原創,你也可以鍛鍊自己的寫作能力。如果其實不費心做原創最好的假原創或掃書,只是盲目地重印就不能達到一個很好的目的,可能會適得其反。 2.使用關鍵詞更新文章必須是文章文字策劃的重點,並填寫

使用python需要注意的點和坑

最近使用Python的過程中遇到了一些坑,例如用datetime.datetime.now()這個可變物件作為函式的預設引數,模組迴圈依賴等等。 在此記錄一下,方便以後查詢和補充。 避免可變物件作為預設引數 在使用函式的過程中,經常會涉及預設引數。在Python中,當使用可變物件作為預設

Maven打包引入本地jar包

<!--pom.xml-->..... <dependencies> <dependency> <groupId>com.xxxxxx</groupId> <artifactId>xx

Maven打包跳過測試(maven-surefire-plugin)

1、在pom檔案新增 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <

Java使用繼承需要注意的二三事

    繼承是實現類複用的重要手段,它能夠有效減少重複程式碼的數量,但同時也帶來一個最大的壞處:破壞封裝。     子類拓展父類時,子類從父類繼承得到了成員變數和方法,如果訪問許可權允許,子類可以直接訪問父類的成員變數和方法,相當於子類可以直接複用父類的成員變數和方法,

Struts【修改】需要注意的點

需要用到彈棧,不然回顯沒有值 <s:action name="clzAction" namespace="/sy" var="clzList"></s:action> <s:push value="result"> <s:for