您当前的位置: 首页 >  eclipse

Charge8

暂无认证

  • 2浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

maven在eclipse中创建web工程

Charge8 发布时间:2018-08-19 11:32:52 ,浏览量:2

在 Eclipse 里使用 Maven :

通常,创建一个简单 Maven 项目目录相对完整,若需额外的文件目录自己手动创建就好了,不推荐使用模板创建maven项目

一. 在 Eclipse 里创建web工程

  

创建好之后 会有一点小错误(缺少 web.xml ),需要配置之后报错就会消失

生成的 Maven 工程里没有 Tomcat 的运行环境

Eclipse 解决办法:在 BulidPath 里添加

Maven 解决办法:在 pom.xml 配置依赖包servlet 和 jsp-api  注意 provided

 

	
		
		
			
			javax.servlet
			javax.servlet-api
			3.1.0
			provided
		
		
			
			javax.servlet.jsp
			javax.servlet.jsp-api
			2.3.1
			provided
		
	

项目结构:

 

二.  pom.xml 的基本了解

Maven里的配置文件主要就两个: settings.xml , 和 pom.xml

settings.xml: 主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件;

pom.xml:主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件。

 

1. 基础配置:


	
	4.0.0

	
	cn.jq.maventest
	
	maventest
	
	0.0.1-SNAPSHOT
	
	war

	
	
		
		
			javax.servlet
			javax.servlet-api
			3.1.0
			  
			provided
		
	

2. scope 的分类:

scope包含如下的取值:compile(编译范围)、provided(已提供范围)、runtime(运行时范围)、test(测试范围)、system(系统范围,不常用,通过其他可以代替)

compile:默认是compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。主程序有效, 测试程序有效, 要打包, 要部署

test:表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。主程序无效, 测试程序有效, 不要打包, 不部署, 比较典型的如junit。

runntime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。另外runntime的依赖通常和optional搭配使用,optional为true。我可以用A实现,也可以用B实现。

provided:意味着打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。主程序有效, 测试程序有效, 不被打包, 不要部署

system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

scope的依赖传递

A依赖B,B依赖C。当前项目为A,只当B在A项目中的scope,那么c在A中的scope是如何得知呢?

当C是test或者provided时,C直接被丢弃,A不依赖C;(排除传递依赖)

否则A依赖C,C的scope继承与B的scope

 

3. properties 标签在 pom.xml 定义一些常量, 方便管理,通过 el 表达式访问。

	
		
		3.1.0
	
	
	
		
			javax.servlet
			javax.servlet-api
			
			${maven.servlet.version}
			provided
		
	

 

三. 在 Eclipse 里使用Maven命令

常用的 maven 命令如下:

Maven命令列表

mvn –version

显示版本信息

mvn clean

清理项目生产的临时文件,一般是模块下的target目录

mvn compile

编译源代码,一般编译模块下的src/main/java目录

mvn package

项目打包工具,会在模块下的target目录生成jar或war等文件

mvn test

测试命令,或执行src/test/java/下junit的测试用例.

mvn install

将打包的jar/war文件复制到你的本地仓库中,供其他模块使用

mvn deploy

将打包的文件发布到远程参考,提供其他人员进行下载依赖

mvn site

生成项目相关信息的网站

mvn eclipse:eclipse

将项目转化为Eclipse项目

mvn dependency:tree

打印出项目的整个依赖树  

mvn archetype:generate

创建Maven的普通java项目

mvn tomcat:run

在tomcat容器中运行web应用

mvn jetty:run

调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

注意:运行maven命令的时候,首先需要定位到maven项目的目录,也就是项目的pom.xml文件所在的目录。否则,必以通过参数来指定项目的目录。

 

 

关注
打赏
1664721914
查看更多评论
立即登录/注册

微信扫码登录

0.0404s