Maven简单实用教程Word格式文档下载.docx
- 文档编号:18311598
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:17
- 大小:20.17KB
Maven简单实用教程Word格式文档下载.docx
《Maven简单实用教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Maven简单实用教程Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
mvn-version
2.2.Maven的基本使用
Maven的基本使用介绍通过命令行编写简单的java和web项目。
2.2.1.实现Java项目
通过maven在命令行下创建普通java项目,也就是main方法执行的项目或者jar文件的类库。
2.2.1.1.创建Maven项目
执行:
mvnarchetype:
generate
在交互界面中:
Chooseanumber:
回车即可,也就是选择15
DefinevalueforgroupId:
输入组织id,比如
DefinevalueforartifactId:
输入项目名称,比如helloworld
Definevalueforversion:
输入版本号,可以直接回车,默认是1.0-SNAPSHOT
Definevalueforpackage:
java的包名,比如com.easymorse
然后回车表示确认上述输入即可。
观察helloworld目录(DefinevalueforartifactId输入的项目名称)下生成的文件和目录:
项目构建文件:
pom.xml
代码框架:
src\main\java\com\easymorse\App.java
测试代码:
src\test\java\com\easymorse\AppTest.java
2.2.1.2.运行Maven项目
命令行进入helloworld目录DefinevalueforartifactId输入的项目名称)。
项目打包
mvnpackage
检查命令生成了什么?
target目录
编译了代码
编译了测试代码
使用junit测试并生成的报告
生成代码的jar文件
运行打包的jar文件:
java-cptarget\helloworld-1.0-SNAPSHOT.jarcom.easymorse.App
编译源程序
mvncompile
编译并测试
mvntest
清空生成的文件
mvnclean
将maven项目转化为eclipse项目
命令行运行:
mvneclipse:
eclipse
打开eclipse,菜单选择:
file>
import>
general>
existingprojectsintoworkspace,在对话框中选中目录,导入即可。
如果要清除有关eclipse项目的配置信息:
mvn-Dwtpversion=1.0eclipse:
clean
联合使用
cleanclean
2.2.2.实现Web项目
通过maven在命令行下创建javaweb项目。
2.2.2.1.创建Maven项目
在命令行输入,这一步和创建java项目类似:
交互步骤说明:
回车即可,也就是选择18,这里和java普通项目不一样
需要在pom.xml文件中增加servlet容器的插件:
<
build>
<
plugins>
plugin>
groupId>
org.codehaus.mojo<
/groupId>
artifactId>
tomcat-maven-plugin<
/artifactId>
/plugin>
org.mortbay.jetty<
maven-jetty-plugin<
version>
6.1.6<
/version>
maven-compiler-plugin<
configuration>
source>
1.6<
/source>
target>
/target>
encoding>
UTF-8<
/encoding>
/configuration>
/plugins>
/build>
tomcat插件
jetty插件
编译插件的配置
repository目录的作用
repository的位置,在用户目录的.m2目录下。
repository目录的作用,对依赖类库的缓存。
2.2.2.2.运行Maven项目
启动tomcat
mvntomcat:
run
启动jetty
mvnjetty:
转化为eclipse项目
mvn-Dwtpversion=1.5eclipse:
这样生成wtp插件的web项目。
另外,需要在eclipse里创建一个classpath变量,名称为:
M2_REPO,值为系统用户下.m2/repository目录。
3.POM文件的基本配置
3.1.POM介绍
3.1.1.什么是POM
ProjectObjectModel,项目对象模型。
通过xml格式保存的pom.xml文件。
作用类似ant的build.xml文件,功能更强大。
该文件用于管理:
源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。
3.1.2.快速浏览
一个完整的pom.xml文件,放置在项目的根目录下。
projectxmlns="
http:
//maven.apache.org/POM/4.0.0"
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
//maven.apache.org/POM/4.0.0
//maven.apache.org/maven-v4_0_0.xsd"
>
modelVersion>
4.0.0<
/modelVersion>
!
--TheBasics-->
...<
packaging>
/packaging>
dependencies>
/dependencies>
parent>
/parent>
dependencyManagement>
/dependencyManagement>
modules>
/modules>
properties>
/properties>
--BuildSettings-->
reporting>
/reporting>
--MoreProjectInformation-->
name>
/name>
description>
/description>
url>
/url>
inceptionYear>
/inceptionYear>
licenses>
/licenses>
organization>
/organization>
developers>
/developers>
contributors>
/contributors>
--EnvironmentSettings-->
issueManagement>
/issueManagement>
ciManagement>
/ciManagement>
mailingLists>
/mailingLists>
scm>
/scm>
prerequisites>
/prerequisites>
repositories>
/repositories>
pluginRepositories>
/pluginRepositories>
distributionManagement>
/distributionManagement>
profiles>
/profiles>
/project>
3.2.基本设置
3.2.1.协作关系
my-project<
1.0<
war<
groupId:
组织标识,例如:
org.codehaus.mojo,在M2_REPO目录下,将是:
org/codehaus/mojo目录。
artifactId:
项目名称,例如:
my-project,在M2_REPO目录下,将是:
org/codehaus/mojo/my-project目录。
version:
版本号,例如:
1.0,在M2_REPO目录下,将是:
org/codehaus/mojo/my-project/1.0目录。
packaging:
打包的格式,可以为:
pom,jar,maven-plugin,ejb,war,ear,rar,par
3.2.2.POM间关系
3.2.2.1.依赖关系
依赖关系列表(dependencylist)是POM的重要部分。
dependency>
junit<
4.0<
scope>
test<
/scope>
/dependency>
...
groupId,artifactId,version:
scope:
compile(default),provided,runtime,test,system
exclusions
如何查到依赖的类库?
一般可以通过这个网站:
比如查询hibernate,可以找到结果列表中的hibernate类库条目。
点击:
选择版本,比如3.2.6ga,即:
.../hibernate/3.2.6.ga
复制文章中的:
org.hibernate<
hibernate<
3.2.6.ga<
到pom.xml文件中即可。
是否还需要找到hibernate依赖的pom?
不需要,hibernate也会有pom,maven会通过它的pom自动找到它依赖的类库。
3.2.2.2.继承关系
继承其他pom.xml配置的内容。
maven提供了一个类似java.lang.Object的顶级父pom.xml文件。
可以通过下面命令查看当前pom.xml受到超pom.xml文件的影响:
mvnhelp:
effective-pom
创建一个各种项目可复用的pom.xml文件:
部署要复用的pom.xml文件:
mvninstall
在自己的pom文件中继承上述pom:
com.easymorse<
pom<
0.1<
3.2.2.3.聚合关系
用于将多个maven项目聚合为一个大的项目。
比如目录结构如下:
.
|--pom.xml
|--module-a
`--pom.xml
|--module-b
|--module-c
|--foo-all
那么总的pom.xml文件类似:
module>
module-a<
/module>
module-b<
module-c<
foo-all<
参考文档:
//maven.apache.org/plugins/maven-eclipse-plugin/reactor.html
原文示例有误,见:
modules.rar
3.2.3.其他配置
maven的属性,是值的占位符,类似EL,类似ant的属性,比如${X},可用于pom文件任何赋值的位置。
有以下分类:
env.X:
操作系统环境变量,比如${env.PATH}
project.x:
pom文件中的属性,比如:
project>
,引用方式:
${project.version}
settings.x:
settings.xml文件中的属性,比如:
settings>
offline>
false<
/offline>
/settings>
${settings.offline}
JavaSystemProperties:
java.lang.System.getProperties()中的属性,比如java.home,引用方式:
${java.home}
自定义:
在pom文件中可以:
installDir>
c:
/apps/cargo-installs<
/installDir>
${installDir}
3.3.其他
3.3.1.设置离线
在.m2目录下创建settings.xml文件(如果没有的话)
settingsxmlns="
//maven.apache.org/xsd/settings-1.0.0.xsd"
true<
3.3.2.安装第三方包
经常有第三方包,因为一些原因,在网上repository上没有,需要自己动手安装。
比如sun某些版本的jar文件,比如oracle的驱动。
已oracle驱动程序为例,比如驱动路径为c:
/driver/ojdbc14.jar,是10.2.0.3.0版本
在该网址能够查到:
artifactId和groupId。
mvninstall:
install-file-DgroupId=com.oracle-DartifactId=ojdbc14-Dversion=10.2.0.3.0-Dpackaging=jar-Dfile=c:
/driver/ojdbc14.jar
这样就可以在pom中依赖引用了:
com.oracle<
ojdbc14<
10.2.0.3.0<
3.3.3.部署到tomcat
tomcat配置有管理权限的用户:
conf\tomcat-users.xml
?
xmlversion='
1.0'
encoding='
utf-8'
tomcat-users>
rolerolename="
manager"
/>
userusername="
marshal"
password="
password"
roles="
/tomcat-users>
在pom文件的tomcat插件中添加:
//localhost:
8080/manager<
server>
myserver<
/server>
path>
/mycontext<
/path>
在.m2/settings.xml文件中增加:
servers>
id>
/id>
username>
marshal<
/username>
password>
password<
/password>
/servers>
运行打包部署,在maven项目目录下:
deploy
然后访问:
8080/mycontext/即可。
撤销部署:
undeploy
启动web应用:
start
停止web应用:
stop
重新部署:
redeploy
部署展开的war文件:
mvnwar:
explodedtomcat:
exploded
3.3.4.未讲到的内容
settings.xml的配置
pom.xml的详细配置
自定义插件的方法:
//maven.apache.org/plugins/maven-archetype-plugin/examples/archetype.htm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Maven 简单 实用教程
![提示](https://static.bdocx.com/images/bang_tan.gif)