码迷,mamicode.com
首页 > 编程语言 > 详细

Java开发工程师(Web方向) - 01.Java Web开发入门 - 第4章.Maven

时间:2017-07-26 19:20:32      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:分享   命令   dex   web.xml   官方   技术分享   app   -418   嵌入   

第4章--Maven

Maven实战

Java Web应用的部署:

手动式:

编译:javac -cp $CATALINA_HOME/lib/servlet-api.jar web-inf/classes/package/NoodlesServlet.java

打包:jar cvf Restaurant.war .

移动:mv Restaurant.war .../webapps/

项目复杂时:比如项目文件很多 -- IDE如eclipse -->

IDE式:(如eclipse)

下载第三方依赖包,去哪里下载?

目录结构怎么定?

编译、测试、打包、发行,构建流程怎么统一?

项目代码共享和依赖,怎么做?

版本如何管理?

--> 常用工具解决以上问题

Maven:

Java Web的项目构建和依赖管理工具

Apache基金会,开源,由Java写的

选择Maven的理由:

默认对于目录结构进行了限定(约定/惯例优先原则)

提供了三方依赖的管理--解决了依赖的维护问题

提供了一致的项目构建管理方式--减少了构建工作量,降低学习成本

插件式的架构,大量可重用插件

很方便集成了IDE

 

Maven的安装:

依赖JDK

官网:http://maven.apache.org/

$ brew install maven3

配置环境变量:

M2_HOME=/dir to maven/

PATH=$PATH:$M2_HOME/bin

 

Maven在构建项目的时候使用的配置:pom.xml

技术分享

Maven项目的坐标:定位唯一项目(不可重复)

groupId:组织

artifactId:项目标识符

version:版本号(i.e. <version>1.0.0-SNAPSHOT</version>) (SNAPSHOT表示为开发版本)

其他属性:

packaging:类型,i.e. war

dependencies:依赖的项目

 

基本命令:

mvn archetype:generate:使用模板生成项目

mvn compile:编译

mvn test:单元测试

mvn package:打包War

mvn deploy:部署

mvn site:生成项目相关站点,在线文档之类

mvn clean:清理

mvn install:把包安装到本地仓库,可对其进行依赖

 

Tomcat插件:Tomcat官方提供的Maven插件:实现在Maven中内嵌启动一个Tomcat

mvn  help:describe -Dplugin=tomcat7

常见命令:

mvn tomcat7:run:启动一个嵌入的Tomcat实例

mvn tomcat7:deploy;mvn tomcat7:undeploy等

 

如何使用Maven管理Tomcat项目:

mkdir 创建目录

mvn archetype:generate -DgroupId=com.netease.restaurant -DartifactId=Restaurant -Dpackage=com.netease -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp 创建项目

技术分享

 

生成的目录结构:

技术分享

生成pom.xml:

技术分享

缺少对servlet的依赖:在<dependencies></dependencies>中添加依赖

技术分享

 

配置插件:编译器的插件和tomcat插件

技术分享

在main下建立java/com/netease文件夹,并把上节课的Java文件拷贝到该文件夹下

拷贝静态资源到webapp文件夹下

替换WEB-INF下的web.xml为上节课写的web.xml

删除webapp下的index.jsp

技术分享

运行项目:(注意,在Restaurant目录下运行,否则报错)

技术分享

mvn tomcat7:run

and it is running

技术分享

open another terminal tab and curl http://localhost:8080/Restaurant/noodles;it works.

 

 

 

 

 

 

Java开发工程师(Web方向) - 01.Java Web开发入门 - 第4章.Maven

标签:分享   命令   dex   web.xml   官方   技术分享   app   -418   嵌入   

原文地址:http://www.cnblogs.com/FudgeBear/p/7241340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!