maven安装以及maven的相关知识

一:下载安装maven

1.下载maven,apache-maven-3.2.2-bin.zip

http://maven.apache.org/download.cgi

2.新建环境变量-系统变量

变量名:MAVEN_HOME

变量值:D:\maven\apache-maven-3.1.1

3.系统变量Path增加maven的bin路径

在最末尾追加:;%MAVEN_HOME%\bin;

4.配置完毕后,在windows命令提示符下,输入mvn -v测试下,成功提示如图:


二、maven集成到eclipse

1.利用离线安装, link 的方式来安装(转自:http://jingyan.baidu.com/article/60ccbceb01de4d64cbb19756.html

     1. 在你的 eclipse 安装的根目录下创建两个文件夹:links,plugins(名字可以随便取),我的这两个文件夹位于:D:/IDE/HELIOS/eclipse/(eclipse的安装根目录)

     2. 下载eclipse-maven3-plugin.7z 解压缩到 plugins 目录下

    3. 在 links 目录下创建一个 maven.txt(名字可以随便取),打开并输入:path=D:/IDE/HELIOS/eclipse/plugins/maven(请参照上面对应你的 maven 插件)

   4. 保存关闭 maven.txt,并将后缀改成 maven.link,重启 eclipse(如果你的 eclipse 没有开着,直接打开就行)


2.eclipse工具:Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,重启eclipse

3.为了使得Eclipse中安装的Maven插件,同电脑本地中安装的那个相同,需要让eclipse中的maven重新定位一下,点击Window -> Preference -> Maven -> Installation -> Add进行设置


   

三、maven设置

1》打开maven本地安装包,conf文件夹-setting.xml,

1.标签:localRepository指定maven下载的jar包放置路径,可自定义

<localRepository>D:\maven\.m2</localRepository>

2.设置maven镜像仓库地址

<mirrors></mirrors>标签里添加公库,例如:

<mirror>
        <id>nexus-osc</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus osc</name>
        <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
	<mirror>
		<id>nexus-osc-thirdparty</id>
		<mirrorOf>thirdparty</mirrorOf>
		<name>Nexus osc thirdparty</name>
		<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
	</mirror>

2》eclipse引用maven配置

window-preferences-maven-user settings

配置优先级从高到低:pom.xml--->profiles.xml--->user settings --->global settings

User setting引用本地maven配置


四、创建maven项目

1、eclipse-New-other-Maven project,下一步,

2、在Select an archetype时:Artifact Id选择cocoon-22-archetype-webapp或者选择maven-archetype-quickstart,选择下一步,

3、输入Group Id,Artifact Id信息,Version默认为0.0.1-SNAPSHOT,Package会根据Group Id和Artifact Id自动生成

 

Group Id:项目所属的项目组(很多web项目会共用的一个项目组,比如com.landz)

 

Artifact Id:项目在项目组中的ID(即该项目名称,比如:mavenDemo)

 

Version:项目的版本号,后缀SNASHOT为快照的意思,表示版本不稳定


Package:自动生成,com.landz.mavenDemo


4、选中项目->Run As->Maven Test

注:第一次运行Maven可能会有更多额外的Maven插件下载信息


5、项目结构

|--src

    |--main

        |--java

        |--resources

    |--test

        |--java

        |--resources

|--target

|-pom.xml

 

SRC:源文件目录

TARGET:编译目录


pom.xml: Project Object Model项目对象模型,定义了项目的基本信息,用于描述项目如何构建,声明依赖等等。


 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  <modelVersion>4.0.0</modelVersion>  
  
  <groupId>com.siyuan</groupId>  
  <artifactId>firstmvn</artifactId>  
  <version>0.0.1-SNAPSHOT</version>  
  <packaging>jar</packaging>  
  
  <name>firstmvn</name>  
  <url>http://maven.apache.org</url>  
  
  <properties>  
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  </properties>  
  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
    </dependency>  
  </dependencies>  
</project>  


重要的元素:

groupId,artifactId,version,packaging

这四个元素组成了Maven的坐标,它相当为项目在Maven世界中的ID。

其中packaging默认为jar,可以为jar,pom,war等。


dependencies

项目依赖,由1到N个dependency组成,每个dependency包含了一个坐标和依赖范围scope

其中scope默认为compile,表示该依赖对主代码和测试代码都有效,

test则表示该依赖只对测试有效,即测试代码中可以使用Junit-3.8.1.jar中的内容,主代码不能使用,

其余scope将在之后介绍。


landz-web项目包括若干子项目

landz-web中的pom.xml中
<modules>
<module>landz-web-model</module>
<module>landz-web-controller</module>
<module>landz-web-service</module>
<module>landz-web-mdao</module>
<module>landz-web-common</module>
</modules>

landz-web-service子项目

声明父项目

  <parent>
    <groupId>com.landz</groupId>
    <artifactId>landz-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>

添加依赖其他子项目包

<dependency>
            <groupId>com.landz</groupId>
            <artifactId>landz-web-model</artifactId>
            <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
            <groupId>com.landz</groupId>
            <artifactId>landz-web-mdao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
            <groupId>com.landz</groupId>
            <artifactId>landz-web-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
    </dependency>

且父项目引入若干jar包后,子项目无需再次引入,可以共用

推荐一个添加依赖jar包的网站  http://mvnrepository.com/


推荐一个添加依赖jar包的网站  http://mvnrepository.com/


推荐一个添加依赖jar包的网站  http://mvnrepository.com/

这里面你可以搜索你想要的jar,并有相应的dependency的写法

比如:

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.6.2</version>
</dependency>

6、如果你的jar包在中央仓库查不到,需要手动加载jar包到maven项目里,你可以使用以下方法:

打开cmd,输入例如以下的命令,其中DgroupId、DartifactId可以自定义,Dfile为jar包所在本地路径

mvn install:install-file -DgroupId=commons-cli -DartifactId=commons-cli -Dversion=1.2 -Dpackaging=jar -Dfile=F:/study/jars/jodconverter-2.2.2/lib/new/commons-cli-1.2.jar


7、dos窗口下打包maven项目,打开项目所在路径,输入命令

<span style="font-size:18px;">E:\workspace-2\landz_web>mvn package -Dmaven.test.skip=ture</span>
其中-Dmaven.test.skip=ture是不打包单元测试的Java文件(src/test/java)



五、部署web项目到linux服务器,相关命令(Xshell中执行linux命令)(Xftp执行文件上传下载与删除工作)


cd /opt/apache-tomcat-7.0.62-landz_web/


./bin/shutdown.sh &  ----停tomcat服务


cd webapps/landz_web/


jar -xvf landz-web-controller-0.0.1-SNAPSHOT.war 


cd ../..


./bin/startup.sh &  --启动tomcat


tail -f logs/webapi.log --查看日志


远程仓库

<settings>

  <mirrors>
    <mirror>
      <id>dotsrc.org</id>
      <url>http://mirrors.dotsrc.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>ggi-project.org</id>
      <url>http://ftp.ggi-project.org/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>sunsite.dk</id>
      <url>http://mirrors.sunsite.dk/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>planetmirror.com</id>
      <url>http://public.planetmirror.com/pub/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>lsu.edu</id>
      <url>http://ibiblio.lsu.edu/main/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>ibiblio.net</id>
      <url>http://www.ibiblio.net/pub/packages/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

</settings>

注意:

引用jar包可以放在maven安装目录的setting.xml文件中;也可以把中央仓库配置地址放到pom.xml中:

pom根目录中添加:

<repositories>
		<repository>
			<id>alimaven</id>
      		<name>aliyun maven</name>
			<layout>default</layout>
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		 </repository>
		  
		<repository>
			<id>wso2-maven2-repository</id>
			<name>WSO2 Maven2 Repository</name>
			<layout>default</layout>
			<url>http://dist.wso2.org/maven2</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		 </repository>
	</repositories>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值