当前位置: 首页 > >

eclipse-tomcat部署maven项目方式之四

发布时间:

现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可以部署在Jetty服务器上,以下是调试过程。


一.开发环境

Java: JDK7


Eclipse: Eclipse Java EE IDE for Web Developers ,Version:Luna Release (4.4.0)


Maven: 3.2.5


Tomcat: 7


二.?配置Tomcat用户

  ?Tomcat7和8的配置用户权限是一样的,更多可以参考官方文档(http://tomcat.apache.org/)的说明。此外配置独立服务器还要修改Tomcat的tomcat-user.xml文件,把用户权限加进去。



?
?
?

  其中manager-gui和admin-gui是Tomcat的管理界面,manager-script指的就是maven插件可以访问的用户权限规则


三.?在pom.xml文件中添加Tomcat插件

  Tomcat7可以参考在官方文档(http://tomcat.apache.org/maven-plugin-2.2/)中关于maven插件的配置。






1
2
3
4
5
6 org.apache.maven.plugins
7 maven-war-plugin
8 2.1.1
9
10 src/main/webapp/WEB-INF/web.xml
11

12

13
14
15 org.apache.tomcat.maven
16 tomcat7-maven-plugin
17 2.2
18
19 http://localhost:8080/xpxiaowuApp/
20 admin
21 admin
22

23

24
25

26

27
28





?在第19行,Web App在Tomcat中的部署地址。


三.运行Tomcat7的Maven插件


以上步骤配置好后,在命令行输入命令:



mvn tomcat7:run

如果一切顺利,会出现一下提示。






D:workspace_maven>mvn tomcat7:run
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building xpxiaowuApp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) > process-classes @ xpxiao
wuApp >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ xpxiaowuAp
p ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ xpxiaowuApp ---

[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] <<< tomcat7-maven-plugin:2.2:run (default-cli) < process-classes @ xpxiaowuApp <<<
[INFO]
[INFO] --- tomcat7-maven-plugin:2.2:run (default-cli) @ xpxiaowuApp ---
[INFO] Running war on http://localhost:8080/xpxiaowuApp
[INFO] Using existing Tomcat server configuration at D:workspace_maven arget omcat
[INFO] create webapp with contextPath: /xpxiaowuApp
五月 27, 2015 9:17:12 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
五月 27, 2015 9:17:12 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Tomcat
五月 27, 2015 9:17:12 下午 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/7.0.47
五月 27, 2015 9:17:13 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]





  在浏览器中输入 http://localhost:8080/xpxiaowuApp/ ,可以看到欢迎页面。


?


注意:?实验证明以上步骤在Tomcat8中同样配置成功。


?


四.?在pom.xml文件中添加Jetty6插件

1 Jetty可以参考官方文档( http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html)



1
2 org.eclipse.jetty
3 jetty-maven-plugin
4
5


?  以上步骤配置好后,在命令行输入命令:



mvn jetty:run

?在浏览器输入 http://127.0.0.1:8080/xpxiaowuApp/index.html 就可以访问项目了。


?2 设置(修改)jetty(maven插件maven-jetty-plugi)的端口 ,例如下面的配置文档。






xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.xinping
TestWeb
0.0.1-SNAPSHOT
war



UTF-8




TestWeb





org.mortbay.jetty
maven-jetty-plugin


3


8080















?


注意:maven集成jetty插件后会出现问题


1? 现象
运行 mvn jetty:run 以后,发现静态资源文件修改后无法保存,IDE 提示 “请求的操作无法在使用用户映射区域打开的文件上执行”。


2?解决方案:


版本:jetty 6.1.22


找到 .m2 epositoryorgmortbayjettyjetty6.1.22?修改 jetty-6.1.22.jar?中 org/mortbay/jetty/webapp/webdefault.xml 文件


修改




useFileMappedBuffer
true





useFileMappedBuffer
false


然后放到 maven工程的 src/main/resources下,修改配置文件:







javaWebPro




org.mortbay.jetty
maven-jetty-plugin


3


8080



src/main/resources/webdefault.xml












五 在Eclipse运行Maven命令

在 Eclipse中点击Maven的Web项目,右键选择Run As => Maven Build



在配置窗口中Goals列中填写Maven命令:?jetty:run?, 保存配置,然后运行这个配置。



此时查看Eclipse的console控制台,会给出以下提示信息:



六 配置插件仓库





?? ?
?? ??? ?
????
??????????? maven-restlet
??????????? Public online Restlet repository
??????????? http://maven.restlet.org
???????

?????? ?
??????
?? ??? ??? ?maven2-repository.java.net
?? ??? ??? ?Java.net Repository for Maven
?? ??? ??? ?http://download.java.net/maven/2/
?? ??? ?

?? ??? ?
?? ??? ?
?? ??? ??? ?oschina Releases
?? ??? ??? ?oschina Releases
?? ??? ??? ?http://maven.oschina.net/content/groups/public
?? ??? ?

?? ??? ?
?? ??? ??? ?nexus-osc
?? ??? ??? ?Nexus osc
?? ??? ??? ?http://maven.oschina.net/content/groups/public/
?? ??? ?

?? ??? ?
?? ??? ??? ?nexus-osc-thirdparty
?? ??? ??? ?thirdparty
?? ??? ??? ?http://maven.oschina.net/content/repositories/thirdparty/
?? ??? ?


?? ??? ?
?? ??? ?
?? ??? ??? ?snapshot-repository.java.net
?? ??? ??? ?Java.net Snapshot Repository for Maven
?? ??? ??? ?https://maven.java.net/content/repositories/snapshots/
?? ??? ??? ?default
?? ??? ?


?? ?
???



友情链接: