前两天做项目的时候,偶然知道了Maven这个工具,据说可以非常方便的管理JAR文件,和生成War包等操作。于是乎,就花了点时间在项目中使用了Maven。下面就简单的记录一下使用心得。

管理JAR包

这个功能简直好用到爆……起初做项目的时候,遇到需要使用JAR包的时候,百度各种找……比如在IDEA中是不集成JSTL标签库的,于是乎就得去网上找JAR包,找到了之后,下载也特别麻烦,不是要注册就是要积分,搞得很头疼。但是如果使用Maven的话,我只需要在pom.xml中配置一下就自动下载到Maven本地仓库而且可以直接使用了。如:

<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>

当换电脑继续写项目的时候,也就不用再配置一次了,非常方便。

但是问题来了,当我在学校打开项目继续写的时候,那个下载速度简直比蜗牛还慢……本来学校的网就慢的出奇,Maven的中央仓库又在国外,直接导致下载速度异常的慢。

然后网上查了一下,可以把Maven中央仓库地址改为阿里的Maven仓库地址,只需要在Maven的settings.xml文件里的mirrors节点,添加下面的子节点:

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror> 

不得不说,阿里在Java技术方面确实很强大,之前我也了解过阿里的「druid」这个连接池。据说是全世界第一的Java连接池,但是在我使用druid连接池的时候,并没有发现和其他连接池的区别,可能还是我太年轻了吧。在连接池这方面我还得下点功夫深入理解一下,顺便再了解一下高并发。

在我使用druid连接池的时候,我是这样配置的:

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

然后在数据库连接工具类DBUtil中加载druid.properties

//加载配置文件
Properties pr = new Properties();
//获取resources资源路径下的连接池配置文件
pr.load(this.getClass().getResourceAsStream("/druid.properties"));
DataSource dataSource = DruidDataSourceFactory.createDataSource(pr);

生成war包

这个功能暂时还没怎么使用过,但也还是简单测试了一下。使用方法很简单,只需要在控制台输入mvn clean package或者直接在IDEA的Maven Projects中选择package就行了,接着在target就可以找到生成好的war包了。

我尝试上传到服务器上去,然后打开tomcat服务器就可以访问了。非常方便,但我还是觉得IDEA自动部署到远程服务器的功能更好用。

结尾

对于这样的工具简直是相见恨晚呐,不过目前对Maven的使用还不是特别溜,所以在以后的项目中就一直使用Maven构建和管理JAR包了。