前兩天做項(xiàng)目的時(shí)候,偶然知道了Maven這個(gè)工具,據(jù)說(shuō)可以非常方便的管理JAR文件,和生成War包等操作。于是乎,就花了點(diǎn)時(shí)間在項(xiàng)目中使用了Maven。下面就簡(jiǎn)單的記錄一下使用心得。
管理JAR包
我的天吶,這個(gè)功能簡(jiǎn)直好用到爆......起初做項(xiàng)目的時(shí)候,遇到需要使用JAR包的時(shí)候,百度各種找......比如在IDEA中是不集成JSTL標(biāo)簽庫(kù)的,于是乎就得去網(wǎng)上找JAR包,找到了之后,下載也特別麻煩,不是要注冊(cè)就是要積分,搞得很頭疼。但是如果使用Maven的話,我只需要在pom.xml中配置一下就自動(dòng)下載到Maven本地倉(cāng)庫(kù)而且可以直接使用了。如:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
當(dāng)換電腦繼續(xù)寫(xiě)項(xiàng)目的時(shí)候,也就不用再配置一次了,非常方便。
但是問(wèn)題來(lái)了,當(dāng)我在學(xué)校打開(kāi)項(xiàng)目繼續(xù)寫(xiě)的時(shí)候,那個(gè)下載速度簡(jiǎn)直比蝸牛還慢......本來(lái)學(xué)校的網(wǎng)就慢的出奇,Maven的中央倉(cāng)庫(kù)又在國(guó)外,直接導(dǎo)致下載速度異常的慢。
然后網(wǎng)上查了一下,可以把Maven中央倉(cāng)庫(kù)地址改為阿里的Maven倉(cāng)庫(kù)地址,只需要在Maven的settings.xml文件里的mirrors節(jié)點(diǎn),添加下面的子節(jié)點(diǎn):
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
不得不說(shuō),阿里在Java技術(shù)方面確實(shí)很強(qiáng)大,之前我也了解過(guò)阿里的「druid」這個(gè)連接池。據(jù)說(shuō)是全世界第一的Java連接池,但是在我使用druid連接池的時(shí)候,并沒(méi)有發(fā)現(xiàn)和其他連接池的區(qū)別,可能還是我太年輕了吧。在連接池這方面我還得下點(diǎn)功夫深入理解一下,順便再了解一下高并發(fā)。
在我使用druid連接池的時(shí)候,我是這樣配置的:
在pom.xml中配置:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
在resources路徑下的druid.properties:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/examDB?useUnicode=true&characterEncoding=UTF-8
username=root
password=123456
initialSize=1
minIdle=1
maxActive=2000
maxWait=60000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 'x'
testWhileIdle=true
testOnBorrow=false
testOnReturn=true
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=20
filters=stat
然后在數(shù)據(jù)庫(kù)連接工具類DBUtil中加載druid.properties:
//加載配置文件
Properties pr = new Properties();
//獲取resources資源路徑下的連接池配置文件
pr.load(this.getClass().getResourceAsStream("/druid.properties"));
DataSource dataSource = DruidDataSourceFactory.createDataSource(pr);
生成war包
這個(gè)功能暫時(shí)還沒(méi)怎么使用過(guò),但也還是簡(jiǎn)單測(cè)試了一下。使用方法很簡(jiǎn)單,只需要在控制臺(tái)輸入mvn clean package或者直接在IDEA的Maven Projects中選擇package就行了,接著在target就可以找到生成好的war包了。
我嘗試上傳到服務(wù)器上去,然后打開(kāi)tomcat服務(wù)器就可以訪問(wèn)了。非常方便,但我還是覺(jué)得IDEA自動(dòng)部署到遠(yuǎn)程服務(wù)器的功能更好用。
結(jié)尾
對(duì)于這樣的工具簡(jiǎn)直是相見(jiàn)恨晚吶,不過(guò)目前對(duì)Maven的使用還不是特別溜,所以在以后的項(xiàng)目中就一直使用Maven構(gòu)建和管理JAR包了。