<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
Maven 热部署
Part.3 Maven 3.5.4 + tomcat 8.5.32 热部署:
热部署:在Tomcat运行时将项目部署上去;
1、开启tomcat 热部署:
a) 修改tomcat-》config->tomcat-users.xml配置文件;
b) 在Tomcat-users标签中加入一下代码:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="joey" password="123123" roles="manager-gui,manager-script"/>
c) 启动tomcat;
d) 修改项目中pom.xml,在Tomcat 7 的插件上添加以下代码:
<configuration>
<url>http://localhost:8080/manager/text</url>
<username>joey</username>
<password>123123</password>
<configuration>
e) 右键项目->run as ->maven build …… 在goals中使用tomcat7:deploy 或 tomcat7:redeploy 来进行热部署;
1. tomcat7:deploy,第一次部署时使用。
2. tomcat7:redeploy,非第一次部署时使用
f) 部署完毕,打开浏览器测试
1.配置项目远程仓库:
1.安装nexus服务:管理员模式运行cmd,进入bin文件夹,执行nexus.exe/install;
2.运行nexus服务:执行nexus.exe/start;
3.浏览器访问:localhost:8081
4.nexus默认账号admin,密码admin123;
conf配置文件
settings.xml 主要用到的配置文件
1,chang
1.从数据库运行item_info.sql,恢复数据库maven
2.打开src/main/resources/db.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/maven
jdbc.user=root
jdbc.password=root
3.测试:进入“http://localhost:8080/MavenSSM2/login.jsp”,点游戏列表,显示“王者荣耀 MOBA 极品飞车20 竞速 守望先锋 射击 吃鸡 射击 魔兽世界 MMORPG 保卫萝卜 休闲”
一.清理并重新部署
1.mvn clean tomcat7:redeploy
二.如果将login.jsp放入webapp/WEB-INF下,就不能直接访问到了,要放在webapp下。
三.测试:访问:http://localhost:8080/MavenSSM2/login.jsp
随意输入用户名,密码,登录后显示刚刚的用户名和密码。
1.配置文件中路径是指相对src/main/resources路径。比如applicationContext_mapper.xml的
location="classpath:db.properties",是指src/main/resources目录下的db.properties文件。同理,web.xml中的classpath
2.在pom中配置资源放行,用resources标签。
<!-- 配置文件放行 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<!-- 放行main/resources下的配置文件 如果不放行spring mybatis等配置文件不会被打到包里从而导致错误 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
一.给Tomcat设置账号和密码
1.打开D:\Program Files\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51\conf\tomcat-users.xml
2.从浏览器打开:http://localhost:8080/manager/html
3.从浏览器得到“admin-gui”“admin-script”两个rolename,设置username为joey,password为123123。所以在tomcat-users.xml中添加:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="joey" password="123123" roles="manager-gui,manager-script"/>
4.关闭并重新启动tomcat。
二.手动方式热部署打好的包
1.登录tomcat后,deploy,选择H:\DownLoads\Compressed\sikiedu_Maven_课程资料与源码\00_project\HelloWorldMaven2\target\HelloWorldMaven2-0.0.1-SNAPSHOT.war上传。
2.在Tomcat发布目录中点击并访问“http://localhost:8080/HelloWorldMaven2-0.0.1-SNAPSHOT/test1”会显示“Hello World Maven 123123”
三.idea命令行方式重新热部署
1.注意pom文件内应设置tomcat7插件的账号密码:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<username>joey</username>
<password>123123</password>
</configuration>
</plugin>
2.修改网页内容“Hello World Maven 123123”为“Hello World Maven 456456”
3.在idea的maven执行命令行 tomcat7:redeploy
4.再次访问网页查看变化“http://localhost:8080/HelloWorldMaven2/test1”
Tomcat7,可以省略web.xml中的《servlet》部分
运行: mvn tomcat7:run
作用域:servlet和tomcat作用域都是provided
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>8.5.32</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jsp-api</artifactId> <version>8.5.32</version> <scope>provided</scope> </dependency>
在tomcat7插件中可以设置路径,端口号
部署:
右键项目Run AS->Maven build->Goals:tomcat:run
测试:
locahost:8080/HelloMaven/test ,网页内容Hello Maven
tomcat 6.0.29 默认版本
Scope依赖作用域也可称作依赖范围:maven中的依赖,会根据程序所处的阶段和场景发生变化,所以maven用scope属性来做限制;
a)compile(默认值):在编译、运行、测试、打包都有效;
b)provided:编译、测试时有效,运行、打包无效;
c)test:仅在测试时有效;
d)runtime:测试、运行、打包时有效;
e)system:不推荐使用,使用system作用域不会去本地仓库寻找依赖,要指定本地路径;
一般tomcat和servlet用provided,junit用test,jdbcdriver用runtime
Maven常用命令:
1.clean: 清理,编译后的target目录;
2.compile: 编译,只编译main目录,不编译test中的代码。编译后生成target目录。
3.test-compile:编译test目录中的代码
4.test: 运行test里边的代码
5.package: 打包①java项目->打成jar包②web项目->打成war包
6.install:发布项目到本地仓库,用在打jar包上,打成jar包可以被其他项目使用。(发布war包mei'y'y)
7.tomcat:run:一键构建项目。
用maven命令行构建项目:
1.先CD到项目根目录,比如HelloMaven
2.执行:mvn tomcat:run\
3.浏览器访问:http://localhost:8080/HelloMaven/test
4.总结:操作系统无需安装IDE和tomcat
setting.xml文件很重要,
MAVEN常用命令:
clean