maven环境快速搭建

2019-03-24 23:52|来源: 网络

maven需求、下载与安装,下面是转自http://www.blogjava.net/athrunwang/archive/2011/12/06/365646.html的一篇关于maven环境搭建文章


第一步:配置maven环境


将下载文件解压,然后设置maven环境

如果你配置过jdk的话,这里对你应该不难。如我的maven环境为:F:\maven\apache-maven-3.0.3

我的电脑-----属性----高级-----环境变量-----环境变量-----新建

变量名:M2_HOME

变量值:F:\maven\apache-maven-3.0.3

找到path

在环境变量值尾部加入:;%M2_HOME%\bin;---前面注意分号

当然,你也可以直接在path 路径下加入:;F:\maven\apache-maven-3.0.3\bin  只是上面的方式更优雅一点。

我新建立

打开命令提示符(开始---运行---cmd,检查我们的java环境和maven环境是否有误。



第二步:修改仓库位置


修改我们仓库地址,仓库用于存放我们项目所依赖的所有jar包。

我的仓库路径:F:\maven\repo----这个路径是我自己创建,你可以将路径创建在任何位置。

我们打开…\apache-maven-3.0.3\conf\目录下的setting.xml文件,设置成我们创建的仓库路径

下面我们用一个命令验证一下。打开命令提示符,输入:mvn help:system

该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。

如果运行的过程中没有错误,打开我们仓库(F:\maven\repo)会发现里面多了一些文件。这些文件就是我们从maven的中央仓库下载到本地仓库的。


第三步:创建maven项目

创建一个我们自己的项目。

我们通过maven命令行方式创建一个项目

mvn archetype:create -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0


因为是第一次构建项目,所有依赖的jar包都要从maven的中央仓库下载,所以需要时间等待。等以后我们的本地仓库中积累了我们常用的jar包后,我们的开发将变得非常规范和方便。^_^!!


借助下载jar包的时间,我们来了解一下pom.xml文件。

<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.chongshi.test</groupId>
      <artifactId>hello</artifactId>
      <version>1.0</version>
   <packaging>jar</packaging>
 
  <name>hello</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>


Ø project:pom.xml文件中的顶层元素;
Ø modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
Ø groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。

Ø artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: - . (比如:myapp-1.0.jar)。

Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。

Ø name:项目的显示名称,通常用于maven产生的文档中。

Ø url:指定项目站点,通常用于maven产生的文档中。

Ø description:描述此项目,通常用于maven产生的文档中。


对于一个项目中只有下面的一部分是是我们需要关注的:

<groupId>com.chongshi.test</groupId>

<artifactId>hello</artifactId>

<version>1.0</version>

第四步:编译项目代码

我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。

在命令提示符下进入到我们的创建的项目目录(F:\maven\hello)下,执行:mvn clean compile

Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。

不要急,我们又需要一段时间来下载,相关jar包。^_^!第一次用maven要学会淡定。


项目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse


命令执行完成后就得我们需要的项目目录了。


第五步:导入eclipse工具


打开的我们的eclipse工具。

先配置maven仓库路径

Window----Perferences-----java-----Build Path-----Classpath Variables

New一个变量的类路径。

Name :M2_REPO   注意这个名字必须要大写。

Path :F:/maven/repo  点击“Folder…”找到有本地仓库的位置。


下面,可以导入我的hello项目了。Eclipse如何导入项目,我这里就不说了,如果你是个java开发人员的话。


第六步:包的更新与下载


打开项目发现我们junit 是3.8.1的,有点老了。那我想换成4.7的,如何通过maven的方式更换呢。其实,很简单,打开我们项目下的的pom.xml文件。

……
<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
……


更改变,junit的版本号,然后重新执行:mvn eclipse:eclipse  

Maven 中央仓库地址:http://search.maven.org


假如,我们想下载一个struts jar包。在搜索框内搜索strruts ,会要列出中央仓库中的所有struts版本。

列表的格式与我们pom.xml配置文件的格式是对应的。



我们在pom.xml中加入:

<groupId>stuts</groupId>

<artifactId>struts-scription</artifactId>

<version>1.0.1</version>


然后更新项目就可从中央仓库下载我们想要的任意jar包(必须是开源的包)


继续学习内容:

1. 如何创建一个web项目?

  如果想让maven应用到项目开发中,这个是必须的。

2. 如何使用jeety?

  maven提供的一个容器,类似于tomcat

3. 如何创建一个代理仓库?

  如果是团队开发,这个很有必要,我们不可能每次都到中央仓库拿包,那样很慢,如果开发人员A已经下了某包,开发人员B还要下;创建代理仓库,A第一次下的包会存入代理仓库中,B要用时直接从代理仓库取就行。

相关问答

更多

如何在TYPO3 7.6中启用header_position(How to enable header_position in TYPO3 7.6)

你必须建立一个可以重新启用领域的快速扩展。 您需要创建如下文件夹和文件: your_ext / Configuration / TCA / Overrides / tt_content.php该文件的内容是: use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; ExtensionManagementUtility::addTCAcolumns('tt_content',[ 'header_position' => [

创建RSS Feed JSF 2.0?(Create RSS Feed JSF 2.0?)

我对JSF并不是很熟悉 - 但是我最近使用Spring 3(内部使用非常有用的ROME库)非常快速地实现了许多RSS提要。 我特别使用了Spring 3的org.springframework.web.servlet.view.feedAbstractRssFeedView,您可以扩展它以轻松地将您的域对象转换为RSS视图,而且只需要很少的工作量。 最棒的是Spring有其他抽象视图(例如Atom或JSON),可以轻松地将数据转换为其他格式以供RESTful使用。 HTH。 I'm not hu

如何使类持久化能力(How to make a class persistent capable)

谷歌搜索“com.objy.db.app.ooObj”并尝试自己找到遗漏的依赖项! 我想你需要下载Objectivity / DB for Java: http : //support.objectivity.com/downloads Do a Google search for "com.objy.db.app.ooObj" and try to find the missing dependency yourself! I guess you need to download Object

Selenium在Python-Scrapy中执行Js的替代方案是什么?(What is the alternative of Selenium for executing Js in Python-Scrapy?)

Splash - 一个JavaScript渲染服务 Splash是一个带有HTTP API的JavaScript呈现服务。 它是一个带有HTTP API的轻量级浏览器,使用Twisted和QT在Python中实现。 它快速,轻便,无状态,便于分布。 奖励积分由正在开发Scrapy的同一伙人开发。 Splash - A javascript rendering service Splash is a javascript rendering service with an HTTP API. It

在C#中调用MySql函数以验证用户名和密码(Calling MySql Function in C# for validating username and password)

代码有多个问题。 首先也是最重要的:最好使用散列函数存储密码而不是可逆加密方法,否则你将失去加密它们的好处。 我不打算深入解释这一点,因为它已被广泛讨论,即使在stackoverflow上也是如此。 做一些研究。 其次,“ExecuteNonQuery”不会返回查询输出。 它与INSERT和UPDATE查询一起使用。 您需要使用“ExecuteReader”然后使用返回的对象来提取行数据。 最后,你的“oCn.Close();” 永远不会被执行,因为在那条线之前有一个“回归”(很明显,这不是问题