精华内容
下载资源
问答
  • Maven

    万次阅读 多人点赞 2019-09-10 16:49:14
    文章目录Maven1.Maven简介2、下载安装Maven3、配置环境变量4、阿里云镜像5、本地仓库6、在IEDA中使用Maven7、创建一个普通的Maven项目8、pom文件9、Maven仓库的使用 Maven 1.Maven简介 Maven项目对象模型(POM),...

    Maven

    1.Maven简介

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

    Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

    • 核心思想:约定大于配置

    2、下载安装Maven

    官网:https://maven.apache.org/
    在这里插入图片描述
    下载完成后,解压即可。

    3、配置环境变量

    配置如下配置:

    • M2_HOME maven目录下的bin目录
    • MAVEN_HOME maven的目录
    • 在系统的path中配置 %MAVEN_HOME%\bin
      测试是否安装成功:
      在这里插入图片描述

    4、阿里云镜像

    在这里插入图片描述

    • 镜像:mirrors
    • 作用:加速下载
    • 国内建议使用阿里云的镜像
    <mirror>
        <id>nexus-aliyun</id>  
        <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>  
        <name>Nexus aliyun</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
    </mirror>
    

    5、本地仓库

    建立一个本地仓库:localRepository

    • maven目录下创建maven-repo文件夹
    <localRepository>D:\Environment\apache-maven-3.6.2\maven-repo</localRepository>
    

    6、在IEDA中使用Maven

    1、创建一个MavenWeb项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2、等待项目加载完成
    在这里插入图片描述
    3、IDEA中的Maven设置
    在这里插入图片描述
    在这里插入图片描述
    4、在src/main下创建java和resources文件夹

    • 标记文件夹功能
      在这里插入图片描述
      或者:
      在这里插入图片描述
      在这里插入图片描述

    7、创建一个普通的Maven项目

    在这里插入图片描述
    在这里插入图片描述

    8、pom文件

    pom.xml 是Maven的核心配置文件
    maven由于他的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案

    <!--在build中配置resources,来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    

    9、Maven仓库的使用

    地址:https://mvnrepository.com/
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 最新版本apache-maven-3.5.0下载

    千次下载 热门讨论 2017-04-14 13:53:23
    apache-maven-3.5.0
  • Maven官网下载

    千次下载 热门讨论 2014-08-25 23:01:51
    Maven 资源,从官方下载的,使用于windows
  • maven-3.2.5 32位绿色版

    万次下载 热门讨论 2015-01-14 22:44:35
    最新的maven资源,window 32位适用
  • 阿里云的maven私服的setting.xml 工具

    千次下载 热门讨论 2016-12-27 16:46:34
    这是我配置阿里云的maven私服的setting.xml文件,MirroOf配置不是*号,是central,这样在项目pom中配置repository依然生效
  • Maven安装配置及在idea中配置

    万次阅读 多人点赞 2019-07-31 10:16:54
    一、Maven是什么 二、Maven安装及配置 1. Maven本地安装 2. Maven环境变量的配置 3. Maven 配置repository 三、idea中创建meven webapp及配置 1. 配置 settings 2. 创建 meven webapp 一、Maven是什么 1. ...

    目录

    一、Maven是什么

    二、Maven安装及配置

    1. Maven本地安装

    2. Maven环境变量的配置

    3. 修改maven配置文件

    三、idea中创建meven webapp及配置

    1. 配置 settings

     2. 创建 meven webapp


    一、Maven是什么

    1. Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。

    2. 通俗的来说Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率

    Maven到底是什么?(参考链接)

    二、Maven安装及配置

    1. Maven本地安装

    apache官网下载(以目前最新的 3.6.1为例)

    右侧Download

    选择二进制的压缩包 

    下载完成后,解压到D盘(自己选择盘符,直接解压,建议不要再放在文件夹下面,点入即为根目录)

    这是我的路径  D:\apache-maven-3.6.1

    2. Maven环境变量的配置

    找到 Path 里添加 meven 的安装路径 D:\apache-maven-3.6.1

    添加 M2_HOME 变量 

    这样,电脑就知道你的meven在哪里了 

    然后打开 cmd,输入 mvn -v 

    出现 Maven home : D:\apache-maven-3.6.1  为成功

    3. 修改maven配置文件

    打开D盘刚才安装Maven的文件夹,找到conf目录下的settings文件

    maven会将从中央仓库下载的jar包放到本地仓库中,而这个本地仓库其实就是maven帮我们建立的一个文件夹,目录为C:\Users\你的用户名\.m2\repository,这个路径是可以修改的;我们修改到D盘

    本地仓库(.m2)

    运行原理
    运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

    Repository 仓库​​​​​​

    由于在配置时本地的仓库需要通过over wall下载 ,速度很慢,这里直接给大家放百度网盘链接,自行食用

    复制 D盘下config文件夹下的settings.xml 文件到 C盘用户 .m2 文件下 

      

     

    修改 .m2文件下的 settings 文件(D盘conf下的不用修改)

    为的是在使用 repository时,把下载的文件路径更改到你安装的 D:\repository  下

    .m2 的settings.xml修改如下

    <localRepository>D:\repository</localRepository>

    我们知道maven是从中央仓库下载jar包的,但是这个中央仓库的服务器是在国外的,下载会非常慢,好在阿里云做了一个国内的镜像仓库,所以我们还要把仓库的地址修改为阿里云的地址。

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

    https://maven.aliyun.com/mvn/guide 参考阿里云

    找到<mirros>标签,将上面的内容复制到里面即可。

    接下来修改maven项目的默认jdk版本,找到<profiles>标签,将以下内容复制到里面即可。

    <profile>
        <id>jdk-1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
    </profile>
    

     

    配置好之后,然后输入 mvn help:system 

    下载资源(快慢取决于网速,文件很小。我下了半个小时,我哭辽^ -....)

    下载成功后会有 success  的提示 


    三、idea中创建meven webapp及配置

    1. 配置 settings

    在创建 meven项目时,由于导入的 jar包要在apache的官网上下载,速度特别慢(没错,我创建项目又用了半个小时),外网没办法....

    我们需要修改一下镜像文件,改为国内阿里爸爸的镜像(30分钟的事3分钟解决)

    打开 meven目录conf下的 settings

    ctrl + f 搜索 “<mirrors>”

    在<mirrors>标签里增加以下内容:

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

    再去下载maven依赖的时候,有些依赖包的地址已经变成了aliyun的地址了,速度比之前快了很多 

     2. 创建 meven webapp

    File----> New Project

    Next ----> 选择项目路径

    Finish 完成创建,联网后让idea自动生成配置文件

     

    创建完成

    Learn more Maven基础之项目管理构建

    展开全文
  • eclipse-maven3-plugin工具

    千次下载 热门讨论 2015-12-14 21:15:50
    eclipse中maven离线安装包。解压后把对应的features和plugins这两个文件夹的内容复制到eclipse相同文件夹里面即可
  • Maven配置教程

    万次阅读 多人点赞 2018-08-26 17:20:22
    Maven配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 的配置却让一些初学者望而却步,这里我就把Maven的详细配置过程写下,希望能对你有所帮助...

    Maven配置

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具

    Maven 的配置却让一些初学者望而却步,这里我就把Maven的详细配置过程写下,希望能对你有所帮助。

    Maven的下载

    1. 在Maven的官网即可下载,点击访问Apache Maven

    1. 下载后解压即可,解压后目录结构如下:

    Maven常用配置

    在配置之前请将JDK安装好。

    1. 环境变量配置

    1. 添加M2_HOME:对应Maven的解压目录即可。

    1. 编辑Path环境变量:

    1. 测试,在cmd窗口输入mvn -v查看

    显示如下即配置成功:

    2. 修改配置文件

    通常我们需要修改解压目录下conf/settings.xml文件,这样可以更好的适合我们的使用。

    • 此处注意:所有的修改一定要在注释标签外面,不然修改无效。Maven很多标签都是给的例子,都是注释掉的。

    文章最后附上我的整个Settings.xml文件配置。

    1. 本地仓库位置修改

    在<localRepository>标签内添加自己的本地位置路径

      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->
    	<localRepository>D:\tools\repository</localRepository>
    

    2. 修改maven默认的JDK版本

    在<profiles>标签下添加一个<profile>标签,修改maven默认的JDK版本。

    <profile>     
        <id>JDK-1.8</id>       
        <activation>       
            <activeByDefault>true</activeByDefault>       
            <jdk>1.8</jdk>       
        </activation>       
        <properties>       
            <maven.compiler.source>1.8</maven.compiler.source>       
            <maven.compiler.target>1.8</maven.compiler.target>       
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>       
        </properties>       
    </profile>
    

    3. 添加国内镜像源

    添加<mirrors>标签下<mirror>,添加国内镜像源,这样下载jar包速度很快。默认的中央仓库有时候甚至连接不通。一般使用阿里云镜像库即可。这里我就都加上了,Maven会默认从这几个开始下载,没有的话就会去中央仓库了。

    <!-- 阿里云仓库 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
    
    <!-- 中央仓库1 -->
    <mirror>
        <id>repo1</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo1.maven.org/maven2/</url>
    </mirror>
    
    <!-- 中央仓库2 -->
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
    

    常用IDE下配置Maven

    目前常用的开发工具如idea,eclipse都自身集成了一个版本的Maven。但是通常我们使用自己已经配置好的Maven。

    IDEA下配置Maven

    1:此处修改为自己解压的Maven目录

    2:勾选Override,修改为自己目录下的settings.xml目录

    3:修改为自己的本地仓库地址,一般会自动识别。

    此处勾选,当修改pom文件时,Maven就能帮我们自动导包了。

    Eclipse下配置Maven

    1. 将eclipse使用的Maven修改为自己的。点击add后选择自己Maven的安装目录即可。添加好之后记得勾选。

    1. 将所有的settings修改为自己Maven目录下的conf/settings.xml.点击Update Settings按钮,下面的Local Respository会自动识别出来。


    附:完整的Settings.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
    -->
    
    <!--
     | This is the configuration file for Maven. It can be specified at two levels:
     |
     |  1. User Level. This settings.xml file provides configuration for a single user,
     |                 and is normally provided in ${user.home}/.m2/settings.xml.
     |
     |                 NOTE: This location can be overridden with the CLI option:
     |
     |                 -s /path/to/user/settings.xml
     |
     |  2. Global Level. This settings.xml file provides configuration for all Maven
     |                 users on a machine (assuming they're all using the same Maven
     |                 installation). It's normally provided in
     |                 ${maven.conf}/settings.xml.
     |
     |                 NOTE: This location can be overridden with the CLI option:
     |
     |                 -gs /path/to/global/settings.xml
     |
     | The sections in this sample file are intended to give you a running start at
     | getting the most out of your Maven installation. Where appropriate, the default
     | values (values used when the setting is not specified) are provided.
     |
     |-->
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->
    	<localRepository>D:\tools\repository</localRepository>
      <!-- interactiveMode
       | This will determine whether maven prompts you when it needs input. If set to false,
       | maven will use a sensible default value, perhaps based on some other setting, for
       | the parameter in question.
       |
       | Default: true
      <interactiveMode>true</interactiveMode>
      -->
    
      <!-- offline
       | Determines whether maven should attempt to connect to the network when executing a build.
       | This will have an effect on artifact downloads, artifact deployment, and others.
       |
       | Default: false
      <offline>false</offline>
      -->
    
      <!-- pluginGroups
       | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
       | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
       | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
       |-->
      <pluginGroups>
        <!-- pluginGroup
         | Specifies a further group identifier to use for plugin lookup.
        <pluginGroup>com.your.plugins</pluginGroup>
        -->
      </pluginGroups>
    
      <!-- proxies
       | This is a list of proxies which can be used on this machine to connect to the network.
       | Unless otherwise specified (by system property or command-line switch), the first proxy
       | specification in this list marked as active will be used.
       |-->
      <proxies>
        <!-- proxy
         | Specification for one proxy, to be used in connecting to the network.
         |
        <proxy>
          <id>optional</id>
          <active>true</active>
          <protocol>http</protocol>
          <username>proxyuser</username>
          <password>proxypass</password>
          <host>proxy.host.net</host>
          <port>80</port>
          <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
        </proxy>
        -->
      </proxies>
    
      <!-- servers
       | This is a list of authentication profiles, keyed by the server-id used within the system.
       | Authentication profiles can be used whenever maven must make a connection to a remote server.
       |-->
      <servers>
        <!-- server
         | Specifies the authentication information to use when connecting to a particular server, identified by
         | a unique name within the system (referred to by the 'id' attribute below).
         |
         | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
         |       used together.
         |
        <server>
          <id>deploymentRepo</id>
          <username>repouser</username>
          <password>repopwd</password>
        </server>
        -->
    
        <!-- Another sample, using keys to authenticate.
        <server>
          <id>siteServer</id>
          <privateKey>/path/to/private/key</privateKey>
          <passphrase>optional; leave empty if not used.</passphrase>
        </server>
        -->
      </servers>
    
      <!-- mirrors
       | This is a list of mirrors to be used in downloading artifacts from remote repositories.
       |
       | It works like this: a POM may declare a repository to use in resolving certain artifacts.
       | However, this repository may have problems with heavy traffic at times, so people have mirrored
       | it to several places.
       |
       | That repository definition will have a unique id, so we can create a mirror reference for that
       | repository, to be used as an alternate download site. The mirror site will be the preferred
       | server for that repository.
       |-->
      <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->
    	    <!-- 阿里云仓库 -->
            <mirror>
                <id>alimaven</id>
                <mirrorOf>central</mirrorOf>
                <name>aliyun maven</name>
                <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
            </mirror>
    
            <!-- 中央仓库1 -->
            <mirror>
                <id>repo1</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo1.maven.org/maven2/</url>
            </mirror>
    
            <!-- 中央仓库2 -->
            <mirror>
                <id>repo2</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo2.maven.org/maven2/</url>
            </mirror>
      </mirrors>
    
      <!-- profiles
       | This is a list of profiles which can be activated in a variety of ways, and which can modify
       | the build process. Profiles provided in the settings.xml are intended to provide local machine-
       | specific paths and repository locations which allow the build to work in the local environment.
       |
       | For example, if you have an integration testing plugin - like cactus - that needs to know where
       | your Tomcat instance is installed, you can provide a variable here such that the variable is
       | dereferenced during the build process to configure the cactus plugin.
       |
       | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
       | section of this document (settings.xml) - will be discussed later. Another way essentially
       | relies on the detection of a system property, either matching a particular value for the property,
       | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
       | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
       | Finally, the list of active profiles can be specified directly from the command line.
       |
       | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
       |       repositories, plugin repositories, and free-form properties to be used as configuration
       |       variables for plugins in the POM.
       |
       |-->
      <profiles>
        <!-- profile
         | Specifies a set of introductions to the build process, to be activated using one or more of the
         | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
         | or the command line, profiles have to have an ID that is unique.
         |
         | An encouraged best practice for profile identification is to use a consistent naming convention
         | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
         | This will make it more intuitive to understand what the set of introduced profiles is attempting
         | to accomplish, particularly when you only have a list of profile id's for debug.
         |
         | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
        <profile>
          <id>jdk-1.4</id>
    
          <activation>
            <jdk>1.4</jdk>
          </activation>
    
          <repositories>
            <repository>
              <id>jdk14</id>
              <name>Repository for JDK 1.4 builds</name>
              <url>http://www.myhost.com/maven/jdk14</url>
              <layout>default</layout>
              <snapshotPolicy>always</snapshotPolicy>
            </repository>
          </repositories>
        </profile>
        -->
    
        <!--
         | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
         | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
         | might hypothetically look like:
         |
         | ...
         | <plugin>
         |   <groupId>org.myco.myplugins</groupId>
         |   <artifactId>myplugin</artifactId>
         |
         |   <configuration>
         |     <tomcatLocation>${tomcatPath}</tomcatLocation>
         |   </configuration>
         | </plugin>
         | ...
         |
         | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
         |       anything, you could just leave off the <value/> inside the activation-property.
         |
        <profile>
          <id>env-dev</id>
    
          <activation>
            <property>
              <name>target-env</name>
              <value>dev</value>
            </property>
          </activation>
    
          <properties>
            <tomcatPath>/path/to/tomcat/instance</tomcatPath>
          </properties>
        </profile>
        -->
    	<profile>     
          <id>JDK-1.8</id>       
          <activation>       
            <activeByDefault>true</activeByDefault>       
            <jdk>1.8</jdk>       
          </activation>       
          <properties>       
            <maven.compiler.source>1.8</maven.compiler.source>       
            <maven.compiler.target>1.8</maven.compiler.target>       
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>       
          </properties>       
        </profile>
      </profiles>
    
      <!-- activeProfiles
       | List of profiles that are active for all builds.
       |
      <activeProfiles>
        <activeProfile>alwaysActiveProfile</activeProfile>
        <activeProfile>anotherAlwaysActiveProfile</activeProfile>
      </activeProfiles>
      -->
    </settings>
    

    至此Maven配置结束,尽情使用吧!–霍英俊

    展开全文
  • eclipse使用maven教程

    万次阅读 多人点赞 2017-12-27 20:41:36
    eclipse使用maven教程eclipse使用maven教程 什么是maven maven下载与安装与配置 1下载 2安装 3配置环境变量 在eclipse中配置 1 m2eclipse安装 2配置eclipse 3创建一个maven项目 1项目的结构 2Eclipse中maven常用的命...

    eclipse使用maven教程

    0.什么是maven

    参考 https://www.cnblogs.com/whgk/p/7112560.html

    我们开发一个项目,或者做一个小demo,比如用SSH框架,那么我们就必须将SSH框架所用的几十个依赖的jar包依次找出来并手动导入,超级繁琐。

    上面问题的描述,其实都属于项目与项目之间依赖的问题[A项目使用SSH的所有jar,就说A项目依赖SSH],人为手动的去解决,很繁琐,也不方便,所以使用maven来帮我们管理

    Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具[百度百科]

    这种又是大白话,如果没明白maven是什么,那么上面这句话跟没说一样,我自己觉得,Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml的配置就可以获取到jar包呢?pom.xml配置文件从何而来?等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。

    所以,根据上一段的描述,我们最终的目的就是学会如何在pom.xml中配置获取到我们想要的jar包,在此之前我们就必须了解如何创建maven项目,maven项目的结构是怎样,与普通java,web项目的区别在哪里,还有如何配置pom.xml获取到对应的jar包等等,这里提前了解一下我们如何通过pom.xml文件获取到想要的jar的,具体后面会详细讲解该配置文件。

    image

    为什么通过groupId、artifactId、version三个属性就能定位一个jar包?

    加入上面的pom.xml文件属于A项目,那么A项目肯定是一个maven项目,通过上面这三个属性能够找到junit对应版本的jar包,那么junit项目肯定也是一个maven项目,junit的maven项目中的pom.xml文件就会有三个标识符,比如像下图这样,然后别的maven项目就能通过这三个属性来找到junit项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性值的。
            
     image

    1.maven下载与安装与配置

    在最新的Eclipse中自带了maven,我们打开,Windows->Preferences,如果会出现下面的画面:
    image

    值得注意的是Embedded内置的默认maven版本是我们即将要修改的,应为这个版本有点老了,这直接导致的后果就是在添加dependences的时候,maven的库不是最新的。

    1.1下载

    去maven的官网下载最新版的maven,此时的最新版本为3.5.2,下载地址如下:http://www-eu.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.zip。

    image

    解压到本地,安装Maven前,先确保已安装JDK,CMD下输入java -version验证是否已安装JDK,如下为我本机的JDK版本:
    image

    1.2安装

    解压到本地目录,比如我的环境中,在本地目录C:\Program Files\Java\apache-maven-3.5.2中.

    1.3配置环境变量

    在下面配置一下C:\Program Files\Java\apache-maven-3.5.2\conf目录中的settings.xml文件,更改一下如下配置:

     <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository  -->
      <localRepository>C:\Program Files\Java\apache-maven-3.5.2\m2\repository</localRepository>
    

    如果不改的话就在用户目录。

    还有个问题,可能有人说需不需要设置maven的环境变量,可以设置,但是如果只是使用Eclipse的maven的插件而不需要使用命令行,就不用了。反正我有设置。

    设置环境变量:

    MAVEN_HOME变量设置为C:\Program Files\Java\apache-maven-3.5.2,即下载下来的maven包解压路径;

    另外在PATH变量前面增加%MAVEN_HOME%\bin;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xn3RMcwS-1587892607457)(http://images2015.cnblogs.com/blog/879896/201604/879896-20160422225120788-1165144654.jpg)]

    最后检验配置是否成功:用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn --version 若出现以下情况说明配置成功image

    2.在eclipse中配置

    2.1 m2eclipse安装

    我本机使用的Eclipse版本已经集成m2eclipse,如果没有集成的话,安装也很简单,有两种方式,

    从Eclipse Marketplace上获取m2eclipse并安装:

    首先要在Eclipse中安装插件:在Help–>install new software,输入下面地址http://download.eclipse.org/technology/m2e/releases,出现如下页面:image
    然后就像安装其他插件那样一路下一步就OK了。
      
    这个就是eclipse管理maven的插件。

    2.2配置eclipse

    安装好m2eclipse后,一般不使用eclipse自带的maven,而是使用外部我们自己安装的maven版本,

    因为Embedded内置的默认maven版本是我们即将要修改的,这个版本有点老了,这直接导致的后果就是在添加dependences的时候,maven的库不是最新的。

    操作:在eclipse上只需作如下配置即可,如下图
    image

    然后设置用户settings,这是maven下载库的地址。如下图:
    image

    3创建一个maven项目

    在实际操作中学习maven及其命令操作。

    1在创建向导中多了maven的相关选项:image

    2 选择默认的工程位置image

    3 创建工程,红色是创建普通的maven工程的。粉色是创建web工程的。image

    4 填写相关的groupId artifactId version等信息
    image

    点击完成就创建好了一个简单的maven工程。

    3.1项目的结构

    maven的工程一般都是如下的结构:

    image

    pom.xml:用于定义或者添加jar包的依赖

    src-main:用于存放java源文件

    src-test:用于存放测试用例。

    也许工程下还会出现target文件夹,这个是用来生成对应的class文件或发布的jar包。

    3.2Eclipse中maven常用的命

    Eclipse中maven常用的命令,
      点击Run As就可以发现几个Maven的命令:

    Maven Build:

    这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。

    使用Build的时候,会让你选此次build的目标goal,下附主要的goal选项:(左边这列是步骤名,同时也是phase的名字,右边是对应的goal):

    步骤名对应的goal
    process-resourcesresources:resources
    compilecompiler:compile
    process-test-resourcesresources:testResources
    test-compilecompiler:testCompile
    testsurefire:test
    packagejar:jar

    Maven Clean:

    删除target文件夹,即删除生成的package包以及class等文件。

    Maven Test:

    先自动进行编译,在运行所有的测试用例。

    Maven install:

    发布生成对应的package包。

    注意:

    留意上面的命令的作用,build和test都会生成相应的class文件。也就是说,当你新建一个maven工程,或者clean一个maven工程后,如果没有使用这两个命令,直接针对类进行测试,会跑出java.class.notfound的错误。因为此时还没有编译生成class文件,如果有朋友发现这个问题注意一下就好了。(该部分只针对旧版本,新版本如maven3.3是可以自动编译的)

    只有使用了上面的两个命令后,才能针对某个类进行单元测试。

    3.3使用maven命令

    现在eclipse可以使用自带的run as来进行maven但是对于linux来说还是命令好用,下面通过一个例子演示maven命令的使用。

     编译:mvn compile  --src/main/java目录java源码编译生成class (target目录下)
    
    测试:mvn test    --src/test/java 目录编译
    
    清理:mvn clean    --删除target目录,也就是将class文件等删除
    
    打包:mvn package  --生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下
    
    安装:mvn install   --将压缩文件(jar或者war)上传到本地仓库
    
    部署|发布:mvn deploy  --将压缩文件上传私服
    

    下面我们看项目代码:

    一个简单的类com.liuyan.maven.helloword.HelloWorld

    package com.liuyan.maven.helloword;
    
    public class HelloWorld {
    	public String sayHello() {
    		return "hello maven";
    	}
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		System.out.println(new HelloWorld().sayHello());
    	}
    
    }
    

    在此项目的根目录下有一个pom.xml文件,内容是默认的,暂时不用管。

    进入控制台,将当前目录cd到与pom.xml同级的文件夹下面(或者使用shift进入)。执行编译命令:

    mvn clean compile
    

    执行后造成的结果。就是项目的根路径下出现了一个taget文件夹

    image

    里面就是编译后的class类。经理过来说,你需要进行单元测试才能发布出来给大家用。Ok,我们在源码包——src/test/java下面开始编写junit单元测试类。

    单元测试代码如下

    package com.liuyan.maven.helloword;
    
    import org.junit.Test;
    import org.junit.Assert;
    
    public class TestHelloWorld {
    
    	@Test
    	public void testSayHello() {
    		HelloWorld helloWorld = new HelloWorld();
    		Assert.assertEquals(helloWorld.sayHello(), "hello maven");
    	}
    
    }
    

    之后我们因为使用了junit单元测试,那么就是说我们这个项目依赖了它。修改一下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/maven-v4_0_0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>com.liuyan.maven</groupId>
    	<artifactId>MavenDemo</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<dependencies>
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.7</version>
    			<scope>test</scope>
    		</dependency>
    	</dependencies>
    </project>
    

    进入命令行,执行命令

    mvn clean test
    

    执行后观察一下taget文件夹如下图,多出了test-classes文件夹和另外2个咱们暂时不用去管的文件夹。

    之后在观察一下本地的临时仓库C:\Users\liuyan.m2\repository,会多出文件夹junit,下载的版本是4.7。

    如果我们想把项目打成jar的形式输出出去呢?在项目根目录下执行

    mvn clean package
    

    执行后效果如下

    image

    生成了一个jar包,至于SNAPSHOT是快照的意思,快照就是项目暂时还不稳定的意思。

    打包测试后没问题了,想把此项目当做Maven的本地资源仓库,为其他的项目也能提供服务,可以这么做。

    执行命令

    mvn clean install
    

    执行后本地的临时库文件多了你自己的这个项目。这样别的项目需要你这个项目提供服务的时候就可以从本地Mavne库中提取相应的jar了。

    展开全文
  • maven-3.0.5.zip

    千次下载 热门讨论 2014-06-25 21:02:07
    maven-3.0.5.zip 欢迎下载!
  • Maven的安装与配置

    万次阅读 多人点赞 2019-09-04 19:48:17
    Maven超详细的安装与配置步骤
  • maven本地仓库配置

    万次阅读 多人点赞 2019-05-11 18:50:24
    来配置一下maven本地仓库: 第一步:下载到官网下载maven包。下载地址:http://maven.apache.org/download.cgi 第二步:找个盘符创建个文件夹将将下载的maven报放进去,然后将下载的包解压了。 第三步:配置MAVEN...
  • maven工程-基于springboot定时任务

    千次下载 热门讨论 2016-07-21 18:18:01
    基于springboot的定时任务实现
  • maven jar包

    千次下载 热门讨论 2014-08-05 14:43:33
    maven-aether-provider-3.2.1-sources.jar maven-antrun-plugin-1.3.jar maven-archiver-2.2.jar maven-artifact-3.2.1-sources.jar maven-assembly-plugin-2.2-beta-5.jar maven-bundle-plugin-1.0.0.jar maven-...
  • Caused by: org.eclipse.aether.collection.DependencyCollectionException: Failed to collect dependencies at org.apache.maven.plugins:maven-compiler-plugin:jar:3.5 -> org.apache.maven:maven-toolchain:jar...
  • Maven Settings.xml国内资源配置文件 官方绿色版

    千次下载 热门讨论 2016-07-21 22:59:41
    maven国内资源资源配置以及nexus私服的配置fangs
  • Maven安装与配置

    万次阅读 多人点赞 2021-04-20 22:38:12
    安装Maven 官网下载maven Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。 tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是...
  • apache-maven-3.2.1 官方绿色安装包

    千次下载 热门讨论 2015-12-14 19:27:07
    apache-maven-3.2.1安装包,解压可用。Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management ...
  • 关于IDEA maven无法下载jar包问题

    千次阅读 2019-09-04 09:26:52
    关于IDEA maven无法下载jar包问题 1.第一步 2.第二步 3.第三步 第三步详情 <mirror> <id>nexus</id> <name>internal nexus repository</name> <...
  • 使用Maven构建Spring MVC项目的简单示例

    千次下载 热门讨论 2013-09-29 12:31:42
    本人博客里面“使用Maven构建Spring MVC项目的简单示例”的源代码
  • Maven镜像地址大全,Maven镜像地址配置示例

    万次阅读 多人点赞 2018-09-06 14:47:30
     《 Maven镜像地址大全 》   最近在准备项目架构时,虽然自己已经又了私服,通过私服进行仓库的管理,但是由于网速的限制原因,又想在项目环境迁移时可以快速的构建并启动或者快速更新,之前项目开发的工作中...
  • Maven简介和Maven私服

    万次阅读 2019-03-20 21:45:11
    更多精彩技术分享请浏览本人博客:... 目录 1. Maven简介 1.1. 简述 1.2. Maven实现的核心价值 1.3. 定义与缩略语 1.4. 项目构建 1.5. 依赖管理 1.6. maven目录说明 1.7. maven坐标 ...
  • IDEA使用Maven

    千次阅读 2021-05-04 00:04:12
    IDEA使用Maven创建MavenWeb项目观察maven-repo仓库多了什么?IDEA中Maven设置在IDEA标记文档的文件属性在main目录下,创建两个文件夹将文件夹进行标记属性pom文件——重要文件依赖一些常用的jar包Maven导出的问题...
  • Maven快速入门

    千人学习 2020-02-09 21:46:20
    等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目...
  • Maven配置MAVEN_OPTS

    千次阅读 2020-11-06 16:43:49
    windows配置MAVEN_OPTS 打开命令行工具,输入mvn -version回车 上图说明Maven环境配置OK。 输入 set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m回车 再次输入mvn -version回车 如上图则设置完成。如果输入mvn ...
  • IDEA配置Maven(详细版)

    万次阅读 多人点赞 2020-05-14 10:29:47
    IDEA配置MavenIDEA创建Maven工程第一节 IDEA集成Maven插件第二节 使用骨架创建Maven的java工程第三节 不使用骨架创建Maven的java工程第四节 使用骨架创建Maven的java web工程第五节 不使用骨架创建Maven的java web...
  • Maven搭建Kafka Java开发环境需要的jar包

    千次下载 热门讨论 2014-07-09 18:34:57
    Maven搭建Kafka Java开发环境需要的jar包,直接解压到maven本地仓库的com文件夹下
  • Eclipse中配置Maven

    千次阅读 2020-12-26 12:29:36
    Eclipse中配置Maven1. 安装Maven2. 设置Maven的配置文件3. 在 Eclipse 中配置 Maven4. 在 Eclipse 中创建 Maven 项目5. 创建Web 工程 1. 安装Maven 下载地址:http://maven.apache.org/ 检查 JAVA_HOME 环境变量。...
  • apache-maven-3.3.9 最新下载

    千次下载 热门讨论 2015-11-22 15:45:53
    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 877,582
精华内容 351,032
关键字:

meven