Maven环境搭建

在官网上下载maven安装包,地址:http://maven.apache.org/download.cgi

解压文件到电脑坐在盘符目录,如E:\apache-maven-3.3.9-bin。

设置环境变量, 新建 MAVEN_HOME ,然后将maven路径复制到变量值中。

在path 加入 ;%MAVEN_HOME%\bin 路径。在dos界面输入mvn -v ,可以查看是否成功配置环境以及maven版本。

环境变量配置成功后,需要在做如下的配置:

1、在本地创建一个文件夹MavenRepository,并在MavenRepository文件夹下创建文件夹repo。

2、进入Maven解压后的文件夹,进入conf文件夹,将settings.xml文件复制到上一步创建的MavenRepository文件

夹下

3、打开MavenRepository文件夹下的settings.xml文件,找到localRepository标签,此时是被注释掉的,我们解除

注释,然后配置步骤1中的repo路径,如E:\MavenRepository\repo

输入: mvn help:system 查看更改的setting的配置是否生效

在eclipse中使用maven

安装maven插件

在eclipse中需要下载maven离线插件包,成功下载之后解压之后,将子文件夹features和plugins的jar包文件分别导入Eclipse安装目录下的features和plugins文件夹内,然后重启Eclipse就可以在Preferences中看到Maven选项了。即Maven插件配置成功。

注:如果是MyEclipse是不需要执行上述步骤的,MyEclipse自带了Maven插件。

配置maven

在Eclipse中的Perferences进行搜索maven,点击Installations,然后点击add,选择maven的路径进行加载。

加载完之后,在到User Settings 中选择maven的 settings.xml文件,然后点击ok就行。

配置完之后,打开File->New->others,搜索maven,如果看到有Maven Project则代表配置成功。

创建maven项目

使用 eclipse创建

打开File->New->others,搜索maven,选择Maven Project,点击创建。操作如下图所示:

使用maven命令创建

  1. 创建Maven的普通Java项目,在dos命令下输入: 

    mvn archetype:generate -DgroupId=packageName -DartifactId=projectName
  2. 创建Maven的Web项目,在dos命令下输入: 

    mvn archetype:generate -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp

maven 使用的一些小技巧

maven设置默认的JDK

如果没有设置默认的jdk,一般创建和导入的项目都是jdk1.4的,需要我们手动更改,所以这里我们就在maven配置中设置默认的jdk。

在setting.xml中添加

<!--  设置maven默认jdk -->
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>

设置阿里的私服

由于网络的限制,使用maven默认的地址下载jar包很慢,所以使用阿里的maven服务器回更快些。

在setting.xml 中的标签中添加:

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

使用maven打包

如果使用maven打包,只需在pom.xml添加

<build>
<resources>
<resource>
<directory>src/main/resource</directory>
<includes>
<include>*.properties</include>
<include>*.xml</include>
<include>*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<defaultGoal>compile</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<finalName>first</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.test.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin> </plugins>
</build>

说明:上述的的打包是将所有的maven依赖和资源打进一个可以运行jar中,并指定一个main方法。

然后再到项目的跟目录下,也就是和pom.xml平级目录,打开dos界面,输入mvn package就可以打包了。

使用maven遇到的一些问题

1.使用eclipse打包项目出现:Dmaven.multiModuleProjectDirectory system property is not set.

    1添加M2_HOME的环境变量

  2.Preference->Java->Installed JREs->Edit 选择一个jdk,

  在 default vm argument添加  -Dmaven.multiModuleProjectDirectory=$M2_HOME

2.source-1.5 中不支持 diamond运算符

解决办法一:

在properties添加

<maven.compiler.source>1.8</maven.compiler.source>和<maven.compiler.target>1.8</maven.compiler.target>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

解决方案二:

在plugin中添加 1.8 和 1.8

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

3.打包出现某jar包无法打入

实际是可以下载,但是无法将此打入包中

解决办法:

在pom.xml中添加

  <repositories>
<repository>
<id>spring-milestone</id>
<url>http://repo.spring.io/libs-release</url>
</repository>
</repositories>

结语

这是我的一篇博客,想来想去也不知道写什么。如是便将之前的笔记进行整理了下发出来。因为是以第一次写博客,很多也不太懂,如果写的不太好,也请望见谅!

还是再说两句吧!经常在逛博客园和CSDN等网站之后,发现很多人都在写博客,觉得他们好厉害! 自己还是个小白,在那时也没有写博客的想法。直到后来博客看多了,也看了一些所谓的小白也在写博客,其中也看了一些大神对于写博客的建议。其中某篇博客中有句话感觉很是受用,写博客最好的时间是在过去,其次就是现在,然后再是将来! 所以感觉现在写还来的急,于是便有了本篇文章!

第一篇博客 ---- 分享关于Maven使用的一些技巧的更多相关文章

  1. 第一篇博客:Hello World

    2016年10月10日,双十,好日子,决定开始写第一篇博客,标题想了会,就叫Hello World 吧,哈哈^_^. 首先感谢博客园的管理们能批准我的申请,记得在14年的时候申请过一次,竟然没申请通过 ...

  2. “Hello, my first blog”------第一篇博客的仪式感

    本人在校大学生一枚,开通博客,主要是想记录自己的学习过程,分享自己的学习经历.记得大一的时候,很多不懂的操作和知识,都是在博客上找到了相应的解决办法.但比较讽刺的是,很多时候,曾经解决了的问题,当再次 ...

  3. 我的第一篇博客 ——【ToDoList】小程序开发

    我是一只即将大四的大三狗,这是我的第一篇博客,说来惭愧.今年1月份,学校放寒假的时候开始自学的IOS,放假的时候比较起劲,看了一堆Object-C的视频,然后照着中英文对照的IOS基础开发教程,做了两 ...

  4. Hello World -- 第一篇博客

    今年注定是不寻常的一年,因为技术,接触了许多大牛.通过一篇篇博文,看到了大牛们勤奋好学.孜孜不倦的精神,于是决定也开个博客,向大牛学习. 博客开了,写点什么呢?奈何肚子里墨水不多,吐出来也多是白沫,不 ...

  5. Ginger的第一篇博客

    怀着无感的心情,没有技术的身体,写下第一篇博客作为标记. 目前应该会搞清楚数据结构上相关的操作.算法,然后用c语言实现后记录在博客. 我是有目标的咸鱼! 2019/4/19

  6. 我的第一篇博客。(JavaScript的声明和数据类型的一些笔记)

    这是我的第一篇博客,务必请大家多多关照. 下面是前端js的变量和数据类型的一些笔记,不是很全请多多包涵. 1.变量 变量的声明 var 变量名 变量这个容器中放的是数据 变量的赋值 变量名 = 数据 ...

  7. 我的第一篇博客:不用sizeof求int的bit数

    我的第一篇博客..  还不会什么高端的东西就来点基础的. 不用sizeof求int的bit数 //不用sizeof求int的bit数 #include<stdio.h> int main( ...

  8. 第一篇博客 安装open live writer

    第一篇博客安装open live writer http://openlivewriter.org/ 有的人可能会打不开,所以我准备了一个百度云的链接地址 链接:https://pan.baidu.c ...

  9. C博客作业00—我的第一篇博客

    C博客作业00-我的第一篇博客 1. 你对网络专业或者计算机专业了解是怎样? 泛泛了解 - 原先只知道网络工程隶属于计算机工程学院,与院中其他专业一样,同样都需要学习大量的计算机基础知识,然后再分支学 ...

随机推荐

  1. Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. 阿里移动云专场专题.md

    小激动 一年一度的阿里云栖大会是我们开发者的盛会,带着着激动的心情参加了这次开发者盛会,二话不说进入会场就被震感到了,先来张图聊表敬意. 主会场马云爸爸还是很有范的,将未来定义为无法定义,在这里宣布成 ...

  3. ubuntu12.04更新到14.04,win7误删BCD引导项,导致两个系统都无法进入

    解决办法: 制作老毛桃U盘启动盘,使用BCD编辑软件,对C/boot下的BCD文件进行编辑,添加win7引导向. 开机进入win7后,使用easyBCD添加ubuntu14.04启动项,选择grub2 ...

  4. [LeetCode] Valid Square 验证正方形

    Given the coordinates of four points in 2D space, return whether the four points could construct a s ...

  5. nodejs和vue的那些事

    nodejs >1.旨在提供一种简单的构建可伸缩网络程序的方法 官方网站:http://nodejs.cn/api/ Node.js 是一个基于Chromev8 JavaScript 运行时建立 ...

  6. [ZJOI 2006]超级麻将

    Description Input 第一行一个整数N(N<=100),表示玩了N次超级麻将. 接下来N行,每行100个数a1..a100,描述每次玩牌手中各种牌的数量.ai表示数字为i的牌有ai ...

  7. [HNOI 2004]宠物收养场

    Description 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的 ...

  8. [SCOI2016]幸运数字

    题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征. 一些旅行者希望 ...

  9. 【BZOJ3573】【HNOI2014】米特运输

    Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号城市 ...

  10. UVA11795 Mega Man's Mission

    状压dp #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> ...