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

管理JAR包

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

   <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>${commons-lang.version}</version>
    </dependency>

    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>${aopalliance.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>${mybatis-generator.version}</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的优势吧,听说它的控制台非常强大,可以清晰的看到所有sql运行记录及详细信息。

打war包发布

使用Idea maven管理构建项目的时候,打war非常方便

使用方法很简单,只需要在控制台输入mvn clean package或者直接在IDEA的Maven Projects中选择package就行了,接着在target就可以找到生成好的war包了。

我尝试上传到服务器上的webapps目录下去,然后启动tomcat服务器就可以访问了,非常方便。听说 ,IDEA可以自动部署到远程服务器,有机会再研究一下,so amazing.

结束语

maven简直是提升了开发效率一大截,极大的提高了生产效率哈,相见恨晚。

优势如下:

使用Maven管理的Java 项目都有着相同的项目结构

  1. 有一个pom.xml 用于维护当前项目都用了那些jar包

  2. 所有的java代码都放在 src/main/java

  3. 所有的测试代码都放在src/test/java

统一维护jar包

比如说有3个Java 项目,这些项目都不是maven风格。那么这3个项目,就会各自维护一套jar包。 而其中有些jar包是相同的。

而maven风格的项目,首先把所有的jar包都放在"maven仓库“ 里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了。 这样jar包就实现了共享


医不自医,人不渡己