第一篇博客 ---- 分享关于Maven使用的一些技巧
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路径,如
输入: 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命令创建
- 创建Maven的普通Java项目,在dos命令下输入:
mvn archetype:generate -DgroupId=packageName -DartifactId=projectName - 创建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 和
<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等网站之后,发现很多人都在写博客,觉得他们好厉害! 自己还是个小白,在那时也没有写博客的想法。直到后来博客看多了,也看了一些所谓的小白也在写博客,其中也看了一些大神对于写博客的建议。其中某篇博客中有句话感觉很是受用,写博客最好的时间是在过去,其次就是现在,然后再是将来! 所以感觉现在写还来的急,于是便有了本篇文章!