玫瑰巷的乞者的gravatar头像
玫瑰巷的乞者 2017-03-16 11:51:24
最近在学习Maven,做点笔记心得

一、maven安装


1.Android Maven Plugin 参考网站

http://code.google.com/p/maven-android-plugin/

2.下载maven  http://maven.apache.org/ 下载最新的Maven

3.解压放到你想放的位置(例如:D:/Maven 目录)

4.配置环境变量 MAVEN_HOME=D:\Maven  把MAVEN_HOME加入到PATH中 %MAVEN_HOME%\bin

5.在D:\Maven\conf下面找到settings.xml 配置maven的仓库(当然可以默认)


<localRepository>D:/Maven/repositories</localRepository>

 

6.在cmd中输入 mvn -version 查看是否配置成功,如果显示maven版本信息和javaJDK相关信息表示配置成功

 

二、maven的pom.xml中添加本地jar包 

 

原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。

但也有特殊情况。

首先


<localRepository>D:\meven\apache-maven-3.2.5-bin\MavenRepository\maven_jar</localRepository>


这个配置是maven本地库的位置


比如我下载了

lucene-queryparser-4.6.1.jar


1)、怎么添加jar到本地仓库呢?


 步骤:


1.cmd命令进入该jar包所在路径


2.执行命令:


mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar


其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。


比如:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -D -Dpackaging=jar


就是指把hadoop-hdfs-2.2.0.jar安装到repository\org.apache.hadoop\hadoop-hdfs\2.2.0目录下,执行完命令

后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:


<dependency>
       <groupId>org.apache.hadoop</groupId>
       <artifactId>hadoop-hdfs</artifactId>
       <version>2.2.0</version>
 </dependency>

注意在每个参数前有个-D

 


2)、怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?

1、首先将要添加的jar包复制到项目中的libs文件夹下

2、然后在pom.xml中添加如下代码:


<dependency> 
    <groupId>htmlunit</groupId> 
   <artifactId>htmlunit</artifactId> 
   <version>2.21-OSGi</version> 
   <scope>system</scope> 
    <systemPath>${project.basedir}/libs/htmlunit-2.21-OSGi.jar</systemPath> 
</dependency> 

 

注意scope元素和systemPath元素,其中systemPath元素指定的就是jar包在项目中的路径。

注意libs文件夹下的这个jar包不需要Add to Build Path


下面是maven中央仓库的地址:

http://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit/2.21

可以在这里搜索想要的jar包,然后复制对应的依赖代码到你项目中的pom.xml中,则对应的jar包将下载到你本地的

maven仓库中,以提供给你使用。

 

 三、maven web项目部署Tomcat

 

有两种方法:


1.将项目打成war包,复制到${tomcat.home}\webapps目录下.当tomcat启动时会自动将其解包.

怎么打成war包?还是简单说下,点击项目“Run as”--->“Maven install”,点击完看控制台,直至控制台记载

到“BUILD SUCCESS”字样,打包成功,可以去项目target文件下找到打好的war包,接下来把war包复制到

Tomcat安装路径webapp下。

有人说,不能直接将war文件夹直接复制到${tomcat.home}\webapps目录下.

但是我试过之后,可以。

当然,将war包解压,解压出的文件夹要和war文件同名(后面可没有 .war),然后将文件夹放到webapps下面就

可以了。

网上很多胡扯的多余步骤答案,勿信!

设置完毕后,便可以基于Tomcat服务器来访问web项目了。

首先运行Tomcat的bin目录下的startup.bat,当Tomcat启动完毕后,

在浏览器输入:localhost:8080/projectName/login.jsp时,如果出现该Web项目的login界面时,则表明war包已成功地部署到tomcat服务器上,并可成功访问了。

2.修改${tomcat.home}\conf\server.xml文件.在Host节点下增加如下参考代码:

<Context docBase="D:\pafalearning\userapp\dist\tomcat\userapp.war" path="/userapp" reloadable="true"/> 

这个我没试过,大家可以试试。

 

四、maven jar包怎么下载

 

pom.xml文件配置到jar包,但是加载的时候,总是提示连接超时,是因为国内的网络问题,连不上官方的maven库。

解决办法:

在maven安装路径下找到conf目录下的settings.xml文件,这个文件配置了很多东西。上面说了本地仓库路径就是在这配置的。

下面就镜像配置,目前好用的就是ali的了。在<mirrors></mirrors>配置里面加上下面这段:
 <mirror>

        <id>alimaven</id>

        <name>aliyun maven</name>

        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

        <mirrorOf>central</mirrorOf>

    </mirror>

    这样重新加载pom.xml就不会出现连接超时的错误了。

maven目前了解的还是很少,各位如果感觉我的很初级也是很正常,但是我在学习的道路上还是有很多问题,还有很多不知道的,希望各位也可以教教我。

总的来说,学习的过程是艰难的但同时也是愉快的。加油,共勉!


打赏
最近浏览
kongfuziyue3  LV2 2019年3月4日
付修立  LV4 2018年8月31日
wgc_jy  LV21 2018年2月2日
799515874 2018年1月31日
暂无贡献等级
coding喵  LV16 2017年11月19日
weienqing  LV17 2017年11月16日
hhmm924613  LV4 2017年11月9日
jiaowoyuege  LV11 2017年10月15日
203778513  LV9 2017年9月13日
junwuxie  LV5 2017年9月5日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友