eclipse 如何运行mavenWeb项目
eclipse 如何运行mavenWeb项目
CreateTime--2018年4月19日19:01:17
Author:Marydon
1.正确姿势
首先,在eclipse中,使用maven对项目进行打包;
其次,将项目发布到Tomcat服务器上
说明:
demo_WebService2-0.0.1-SNAPSHOT文件夹存放的是项目编译好的所有文件,相当于纯web项目的WebContent目录;
demo_WebService2-0.0.1-SNAPSHOT.war是将项目编译好的所有文件打成了war包,相当于对上面文件夹的进行了压缩。
方式一:采用热部署(推荐使用)
<!-- 方式一:引用demo_WebService2-0.0.1-SNAPSHOT.war包 --> <Context docBase="D:\WorkSpaces\eclipse2016\demo_WebService2\target\demo_WebService2-0.0.1-SNAPSHOT.war" path="/demo"> </Context> <!-- 方式二:引用demo_WebService2-0.0.1-SNAPSHOT文件夹 --> <Context docBase="D:\WorkSpaces\eclipse2016\demo_WebService2\target\demo_WebService2-0.0.1-SNAPSHOT" path="/demo"> </Context>
方式二:使用冷部署
将demo_WebService2-0.0.1-SNAPSHOT文件夹或demo_WebService2-0.0.1-SNAPSHOT.war
拷贝到tomcat的webapps目录下,启动tomcat服务器即可。
普通的web项目,Tomcat热部署的优势,不明显,maven项目使用Tomcat可以省略很多步骤:
举例:
项目已经运行,现在我需要对Java文件进行修改:ServiceTestImpl.java文件中,新追加了一行代码
以热部署的方式,发布的项目:(不用进行任何多余的操作)
当使用请求访问到该文件时,控制台会输出该内容。
以冷部署的方式,发布项目:
第一步:使用maven,重新对项目打war包;
第二步:重启Tomcat
需要先完成上2步,控制台才能输出上图内容
小结:使用maven打的jar包,并不一定是最新,当将项目发布到正式地址时,一定要记得重新打个war包。
2.错误方式
第一步:将class文件的编译位置:demo_WebService2/target/classes,统一改为:demo_WebService2/src/main/webapp/WEB-INF/classes;
第二步:采用了"Default output folder"(选中"Allow output for source folders"可以看到);
第三步:Tomcat热部署访问:D:\WorkSpaces\eclipse2016\demo_WebService2\src\main\webapp;
这样,虽然项目也可以正常启动并运行,但是,无法单独运行Java类,强制运行时,会报错:找不到或无法加载主类。
这种方式错在哪?
class文件的编译位置仍然像单纯的web项目那样,将编译路径指定到WEB-INF/classes文件夹下,这是不对的;
maven项目的class的编译位置,主要的Java类和测试类都有各不相同的编译位置,已经不再将class文件统一放到WEB-INF/classes目录下了;
使用maven对项目进行打包时,会将class文件统一组装到demo_WebService2/target/demo_WebService2-0.0.1-SNAPSHOT/WEB-INF/classes下;
没有使用maven对项目进行打包。
相关推荐:
- eclipse 如何对maven项目进行打包?
- TOMCAT热部署
- maven 找不到或无法加载主类
- maven 创建web项目的标准目录结构
- eclipse 将javaWeb项目转化成maven项目
- eclipse 如何提高运行速度和项目启动速度
- 用jetty插件运行maven项目 在eclipse中如何debug 调试程序
- 如何将eclipse下R3-QUery源码项目导入到Intellij idea部署运行
- MyEclipse中的web项目如何正确导入到Eclipse中运行
- 如何把MyEclipse中的web项目导入到Eclipse中运行
- 用jetty插件运行maven项目 在eclipse中如何debug 调试程序
- 如何将MyEclipse开发的项目导入到Eclipse中运行
- eclipse如何同时运行两个项目
- 如何让Eclipse/MyEclipse的web项目在运行时不要自动打开浏览器
- eclipse如何运行maven项目
- eclipse的maven web项目如何运行(使用jetty)
- 如何将MyEclipse开发的项目导入到Eclipse中运行
- eclipse如何配置tomcat运行web项目时省略项目名称
- 如何将MyEclipse开发的项目导入到Eclipse中运行
- 怎么用bat文件运行eclipse建立的项目,如何将写好的java项目生成可执行的bat文件
- 关于Maven项目如何部署在eclipse上运行的问题。
- 关于Maven项目如何部署在eclipse上运行的问题。
- 如何将MyEclipse开发的项目导入到Eclipse中运行
- android studio如何导入和运行调试unity导出的项目,并查看log日志?(或者说:android studio如何导入eclipse项目?)