mvn打包并部署本地tomcat_命令行打包maven项目并部署到tomcat

本文介绍了如何使用命令行通过maven的tomcat7-maven-plugin插件打包Java项目并部署到本地Tomcat服务器,避免IDE带来的资源消耗。详细步骤包括配置环境变量、修改配置文件以及在项目pom.xml中添加插件配置。文章还提到使用VSCode和Gulp提升前端开发效率,并推荐使用gulp-changed模块进行文件同步。
摘要由CSDN通过智能技术生成

我们公司的后端是用maven来构建java项目,服务器用的tomcat,开发人员写代码是用myeclipse或者intellij idea,不管那种ide都特别耗内存,前端并不需要写java代码,但是前后端联调的时候为了把项目跑起来,也必须要使用这类ide,当然也可以用来写前端代码,但是不得不吐槽太烂了。

前端平时会选择自己的编辑器写代码,但是写完刷新浏览器并不能立马看到效果,因为需要等待myeclipse将文件同步到tomcat中,电脑稍差的,可能要等很久。为了提高工作效率,会使用grunt、gulp等自动化工具来完成一些重复的工作,比如代码压缩、修改版本号等,如果操作的文件过多甚至会导致电脑卡死。平时为了测试兼容性要开好几款浏览器,切图也要开AI/PS/FW以及其它杂七杂八的软件,再加上myeclipse这个特别占内存的ide,电脑就会很卡。。。

如果不用启动myeclipse,又能完成项目的部署,上面的这些的问题岂不是就能得到解决?能想到方法就是通过命令行去部署。

这里需要使用tomcat7-maven-plugin这个插件,在使用之前需要完成一些简单的配置:

1.配置环境变量

新建系统变量:1

2

3

4JAVA_HOME D:Javajdk1.6.0_39(jdk安装目录)

CLASSPATH .;%JAVA_HOME%lib

CATALINA_HOME D:Tomcat(tomcat根目录)

JAVA_OPTS -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m(不设置的话启动tomcat会报PermGen space错误)

Path中新增:1

2

3;%JAVA_HOME%bin

;D:mavenapache-maven-3.1.1bin(maven目录下的bin目录)

;%CATALINA_HOME%bin

2.修改配置文件

tomcat7-maven-plugin需要用到tomcat中的manager应用,检查webapps目录中有没有manager这个文件夹,没有的请下载,该应用默认是禁用的,开启它需要修改tomcat目录中/conf/tomcat-users.xml,在tomcat-users中新增:1

2

打开maven安装目录中/apache-maven-3.1.1/conf/settings.xml,在servers(settings子节点)中新增1

2

3

4

5

6

tomcat7

admin

admin

打开项目根目录中pom.xml,在plugins(build子节点)中新增:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

http://localhost:8080/manager/text

tomcat7

admin

admin

/${project.artifactId}

上面配置完成之后,首先需要启动tomcat,直接双击tomcat目录/bin/startup.bat或者在cmd中输入命令:1catalina.bat run

等待tomcat启动完毕后,cmd定位到项目根目录,输入命令:1mvn tomcat7:redeploy (后端提交java代码都要执行)

第一次执行可能会下载很多依赖包,部署过程中会在tomcat目录webapps文件夹下生成war文件以及对应文件名的文件夹,等部署完成,直接浏览器打开项目地址就可以了。如果在tomcat启动过程是由于少jar包导致报错了,需要将缺失的jar包放到项目根目录/src/main/webapp/WEB-INF/lib/中去;如果是PermGen space错误看看是不是环境变量中没有配置JAVA_OPTS(上面有说);如果是其它错误那就请教java开发人员吧。

这里强烈推荐vscode来写前端代码,里面自带了命令行终端用来完成项目打包部署,再安装svn插件用来更新和提交项目代码,通过gulp将前端代码同步到tomcat中,卧槽!想想就很爽!

note:

用gulp将文件同步到tomcat中建议使用gulp-changed这个模块,仅将修改的文件同步过去,这样会很快,该模块第二个参数hasChanged建议设置为changed.compareSha1Digest,示例如下:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17var gulp = require('gulp');

var changed = require('gulp-changed');

var url = './src/main/webapp/Contents/';

var tomcaturl = '../../tomcat/webapps/ROOT/Contents/';

gulp.task('movetotomcat', function(){

gulp.src([url+'**/*.*'])

.pipe(changed(tomcaturl, {hasChanged:changed.compareSha1Digest}))

.pipe(gulp.dest(tomcaturl))

});

gulp.task('watch', function(){

gulp.watch([url+'**/*.*'], ['movetotomcat']);

});

gulp.task('default', ['watch']);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值