(七)Maven使用的最佳實踐

這里說一下在使用Maven過程中不是必須的,但十分有用的幾個實踐,關鍵時刻或許能解決您的問題。

?

1.設置MAVEN_OPTS環境變量

?

通常需要設置MAVEN_OPTS的值為-Xms128m -Xmx512m,因為Java默認的最大可用內存往往不能夠滿足Maven運行的需要,比如在項目較大時,使用Maven生成項目站點需要占用大量的內存,如果沒有該配置,則很容易得到java.lang.OutOfMemeoryError異常。因此,一開始就配置該環境變量是推薦的做法。

?

關于如何設置環境變量,請參考前面的知識。

?

2.配置用戶范圍settings.xml

?

Maven用戶可以選擇配置Maven安裝目錄conf下的settings.xml或者系統用戶目錄.m2下的settings.xml。前者是全局范圍的,整臺機器上的所有用戶都會直接受到該配置的影響,而后者是用戶范圍的,只有當前用戶才會受到該配置的影響。

?

推薦使用用戶范圍的settings.xml,主要是為了避免無意識地影響到系統中的其他用戶。如果有切實的需求,需要統一系統中所有用戶的settings.xml配置,當然應該使用全局范圍的settings.xml。

?

除了影響范圍這一因素,配置用戶范圍settings.xml文件還便于Maven升級。直接修改conf目錄下的settings.xml會導致Maven升級的不便,每次升級到新版本的Maven,都需要復制settings.xml文件。如果使用.m2目錄下的settings.xml,就不會影響到Maven安裝文件,升級時就不需要觸動settings.xml文件。

?

一般情況下.m2目錄下是沒有settings.xml配置文件的,需要我們復制conf下面的settings.xml至.m2目錄下,然后再進行修改。

?

3.不要使用IDE內嵌的Maven

?

Eclipse在集成Maven時,都會安裝上一個內嵌的Maven,這個內嵌的Maven通常會比較新,但不一定很穩定,而且往往也和在命令行使用的Maven不是同一個版本。這里會有兩個潛在的問題:首先,較新版本的Maven存在很多不穩定因素,容易造成一些難以理解的問題;其次,除了IDE,也經常還會使用命令行的Maven,如果版本不一致,容易造成構建行為的不一致,這是我們所不希望看到的。因此,應該在IDE中配置Maven插件時使用與命令行一致的Maven。

?

在Eclipse環境中,點擊菜單欄中的Window,然后選擇Preferences,在彈出的對話框中展開左邊的Maven項,選擇Installations子項,在右邊的面板中,能夠看到有一個默認的EMBEDDED Maven安裝被選中了。單擊Add...按鈕,然后選擇Maven安裝目錄,添加完畢之后選擇我們自己安裝的Maven,點擊OK按鈕,如圖:

?

其他類似的IDE或許在集成的時候也內嵌了Maven,同理,我們最好將它改為我們自己安裝的Maven。

?

4.在Eclipse中指定使用的settings.xml配置文件

?

在Eclipse環境中,點擊菜單欄中的Window,然后選擇Preferences,在彈出的對話框中展開左邊的Maven項,選擇User Settings子項,在右邊的面板中,單擊Browse...按鈕,然后選擇對應的settings.xml文件,設置完畢之后點擊OK按鈕,如圖:

?

?

小Alan使用的都是conf目錄下settings.xml,要統一系統中所有用戶的settings.xml配置,其他類似的IDE應該也有專門設置使用的settings.xml的地方。

?

可愛博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客園,歡迎大家加入博客園。

?

轉載于:https://www.cnblogs.com/AlanLee/p/6141418.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259997.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259997.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259997.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android beam傳輸速率,無線網絡的速率為何不能達到最大值

1、無線速率可以達到最大值,只是發送速率和傳輸流量是兩個概念,通俗點講,無線的發送速率是把信號以指定速率發出去(信號好的時候以高速率發,信號差的時候以低速率發)。傳輸流量是指單位時間內傳輸的數據量,大部分用戶關…

【SMTP 補錄 Apache服務】

【補錄,續】1.【配置空殼郵件接受】【mta】【前置:在/etc/named.rfc1912.zones 添加一個可以接受郵件的域hxl.org(與你數據庫中寫的向對應),這個域的所在ip就是你機子的,因為要從你的機子轉發】 【配置該機的vim/etc/…

image打開rgb16 qt_QT中顯示圖像數據

一般圖像數據都是以RGBRGBRGB……字節流的方式(解碼完成后的原始圖像流),我說成字節流,那就表明R,G,B的值各占一個字節,在編程時表示的就是unsigned char * data。我們先來看一下QT中的QImage對象。在加載data數據前&a…

開啟chrome默認支持ipv6

在快捷方式后面的屬性后面輸入 --enable-ipv6 以下為轉載: [轉載]chrome開啟或關閉IPV6方法 (2012-05-27 17:54:06) 轉載▼ 標簽: 轉載 分類: 技術 原文地址:chrome開啟或關閉IPV6方法作者:余鯤濤 chrome和firefox都是…

Nginx安裝部署

轉:http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開…

android ble 連續讀寫,Android BLE實現對藍牙的讀寫

【實例簡介】通過修改官方的demo實現對藍牙的讀寫操作,詳細http://blog.csdn.net/chenfengdejuanlian/article/details/45787123【實例截圖】【核心代碼】BluetoothLe_demo0└── BluetoothLe_demo0├── AndroidManifest.xml├── bin│ ├── AndroidManife…

一分鐘經理人

原創2016-12-0858沈劍 零、緣起近期公司再做管理者培訓,偶老大推薦了一本薄薄的《一分鐘經理人》,斯賓塞.約翰遜,花了1小時讀完有感,沉淀一篇閱讀筆記,故有此文。一、前言常見經理人有兩類:(1&a…

python寫機器人程序_用Python寫的一個多線程機器人聊天程序

本人是從事php開發的, 近來想通過php實現即時通訊(兼容windows)。后來發現實現起來特別麻煩, 就想到python。聽說這家伙在什么地方都能發揮作用。所以想用python來做通訊模塊。。。所以主要學習pythonn的多線程和tcp連接。但是沒有用過python, 所有在學習…

[轉] 前端中的MVC

MVC是一種設計模式,它將應用劃分為3個部分:數據(模型)、展現層(視圖)和用戶交互(控制器)。其中: M - MODEL(模型) V - VIEW(視圖&…

ipoo3可以用鴻蒙,iqooneo3支持無線充電嗎_iqooneo3可以無線充電嗎

iqoo neo3在不高的價格上還保證了自己的品質,有很高的性能,很不錯的屏幕。那么這款手機可以支持無線充電嗎?小編為大家介紹關于iqoo neo3的充電方面。1.iqoo neo3可以支持無線充電嗎iQOO Neo3 配備了 44W 超級閃充,屬于小刀&#…

紅帽Linux故障定位技術詳解與實例(1)

紅帽Linux故障定位技術詳解與實例(1) 2011-09-28 14:26 圈兒 BEAREYES.COM 我要評論(0) 字號:T | T在線故障定位就是在故障發生時, 故障所處的操作系統環境仍然可以訪問,故障處理人員可通過console, ssh等方式登錄到操作系統上,在shell上執行…

u2020 華為_華為5G網管U2020常用MML命令(很實用)

激活小區ACT NRCELL:;ACT NRDUCELL:;去激活小區DEA NRCELL:;DEA NRDUCELL:;查詢小區靜態信息LST NRCELL:;LST NRDUCELL:;查詢小區動態信息DSP NRCELL:;DSP NRDUCELL:;修改幀偏置MOD GNODEBPARAM:FRAMEOFFSET70728;修改子幀配比、時隙結構MOD NRDUCELL:NRDUCELLID0,DUPLEXMODECE…

Struts2中過濾器,攔截器,監聽器他們之間有什么區別?

1、攔截器是基于java反射機制的,而過濾器是基于函數回調的。2、過濾器依賴與servlet容器,而攔截器不依賴與servlet容器。3、攔截器只能對Action請求起作用,而過濾器則可以對幾乎所有請求起作用。4、攔截器可以訪問Action上下文、值棧里的對象…

pdf在html中加載不出來,在網頁中打開顯示PDF

在這里呢,本站僅為大家講解在網頁中顯示PDF文件的簡單方法,注意,是簡單方法,同時,本站已驗證過如下的相關代碼,測試已通過。當然,有的朋友可能會問,是否能達到像百度文庫那樣在網頁中…

hikaril連接sql2000_hikari連接池解析(版本:HikariCP-2.5.1.jar)

maxLifetime參數maxLifetime參數必須小于數據庫的time_wait,默認是1800000,即30分鐘。如果設置為0,表示存活時間無限大。如果不等于0且小于30秒則會被重置回30分鐘。HikariConfig類中有該參數的校驗規則。HikariPool類中,當我們初始化連接池的…

app開發歷程————Android程序解析服務器端的JSON格式數據,顯示在界面上

上一篇文章寫的是服務器端利用Servlet 返回JSON字符串&#xff0c;本文主要是利用android客戶端訪問服務器端鏈接&#xff0c;解析JSON格式數據&#xff0c;放到相應的位置上。 首先&#xff0c;android程序的布局文件main.xml 1 <LinearLayout xmlns:android"http://s…

Android IOS WebRTC 音視頻開發總結(八十七)-- WebRTC中丟包重傳NACK實現分析

Android IOS WebRTC 音視頻開發總結&#xff08;八十七&#xff09;-- WebRTC中丟包重傳NACK實現分析 本文主要介紹WebRTC中丟包重傳NACK的實現&#xff0c;作者&#xff1a;weizhenwei &#xff0c;文章最早發表在編風網&#xff0c;微信ID&#xff1a;befoio 支持原創&#x…

如何去除TD之間的空隙

table{border-collapse:collapse;}轉載于:https://www.cnblogs.com/passer1991/archive/2013/02/27/2935967.html

android切換到上個頁面,Android 返回上一個界面刷新數據

有些界面需要返回上一個界面刷刷新數據,再此做個記錄.首先startActivityForResult進行Actvity進行跳轉,這是跳轉前的界面.// 通過 startActivityForResult() 啟動 ActivityBIntent intent new Intent(getActivity(), NoticeActivity.class);startActivityForResult(intent, 1)…

composer設置代理_composer 設置代理

Docker registry V2部署私有Docker Registry 搭建 Insecure Registry 修改Registry server上的Docker daemon的配置,為DOCKER_OPTS增加–insecure ...css中的position&colon;relative和absolute 屬性語法: position : static | absolute | fixed | relative 取值: static :…