eclipse-tomcat部署maven项目方式之四
2017-07-05 20:01
567 查看
现在最新的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
Tomcat7和8的配置用户权限是一样的,更多可以参考官方文档(http://tomcat.apache.org/)的说明。此外配置独立服务器还要修改Tomcat的tomcat-user.xml文件,把用户权限加进去。
其中manager-gui和admin-gui是Tomcat的管理界面,manager-script指的就是maven插件可以访问的用户权限规则
Tomcat7可以参考在官方文档(http://tomcat.apache.org/maven-plugin-2.2/)中关于maven插件的配置。
在第19行,Web App在Tomcat中的部署地址。
三.运行Tomcat7的Maven插件
以上步骤配置好后,在命令行输入命令:
如果一切顺利,会出现一下提示。
在浏览器中输入 http://localhost:8080/xpxiaowuApp/ ,可以看到欢迎页面。
注意: 实验证明以上步骤在Tomcat8中同样配置成功。
1 Jetty可以参考官方文档( http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html)
以上步骤配置好后,在命令行输入命令:
在浏览器输入 http://127.0.0.1:8080/xpxiaowuApp/index.html 就可以访问项目了。
2 设置(修改)jetty(maven插件maven-jetty-plugi)的端口 ,例如下面的配置文档。
注意:maven集成jetty插件后会出现问题
1 现象
运行 mvn jetty:run 以后,发现静态资源文件修改后无法保存,IDE 提示 “请求的操作无法在使用用户映射区域打开的文件上执行”。
2 解决方案:
版本:jetty 6.1.22
找到 .m2\repository\org\mortbay\jetty\jetty\6.1.22 修改 jetty-6.1.22.jar 中 org/mortbay/jetty/webapp/webdefault.xml 文件
修改
为
然后放到 maven工程的 src/main/resources下,修改配置文件:
在 Eclipse中点击Maven的Web项目,右键选择Run As => Maven Build
在配置窗口中Goals列中填写Maven命令: jetty:run , 保存配置,然后运行这个配置。
此时查看Eclipse的console控制台,会给出以下提示信息:
一.开发环境
Java: JDK7Eclipse: 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文件,把用户权限加进去。<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user password="admin 255da " roles="manager-gui,admin-gui,manager-script" username="admin"/>
其中manager-gui和admin-gui是Tomcat的管理界面,manager-script指的就是maven插件可以访问的用户权限规则
三. 在pom.xml文件中添加Tomcat插件
Tomcat7可以参考在官方文档(http://tomcat.apache.org/maven-plugin-2.2/)中关于maven插件的配置。1 <build> 2 3 <pluginManagement> 4 <plugins> 5 <plugin> 6 <groupId>org.apache.maven.plugins</groupId> 7 <artifactId>maven-war-plugin</artifactId> 8 <version>2.1.1</version> 9 <configuration> 10 <webXml>src/main/webapp/WEB-INF/web.xml</webXml> 11 </configuration> 12 </plugin> 13 14 <plugin> 15 <groupId>org.apache.tomcat.maven</groupId> 16 <artifactId>tomcat7-maven-plugin</artifactId> 17 <version>2.2</version> 18 <configuration> 19 <url>http://localhost:8080/xpxiaowuApp/</url> 20 <username>admin</username> 21 <password>admin</password> 22 </configuration> 23 </plugin> 24 25 </plugins> 26 </pluginManagement> 27 28 </build>
在第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\target\tomcat [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 <plugin> 2 <groupId>org.eclipse.jetty</groupId> 3 <artifactId>jetty-maven-plugin</artifactId> 4 5 </plugin>
以上步骤配置好后,在命令行输入命令:
mvn jetty:run
在浏览器输入 http://127.0.0.1:8080/xpxiaowuApp/index.html 就可以访问项目了。
2 设置(修改)jetty(maven插件maven-jetty-plugi)的端口 ,例如下面的配置文档。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xinping</groupId> <artifactId>TestWeb</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <!-- 为整个项目统一指定字符集 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <!-- 打包的war名称设置 --> <finalName>TestWeb</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <scanIntervalSeconds>3</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> </connector> </connectors> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>
注意:maven集成jetty插件后会出现问题
1 现象
运行 mvn jetty:run 以后,发现静态资源文件修改后无法保存,IDE 提示 “请求的操作无法在使用用户映射区域打开的文件上执行”。
2 解决方案:
版本:jetty 6.1.22
找到 .m2\repository\org\mortbay\jetty\jetty\6.1.22 修改 jetty-6.1.22.jar 中 org/mortbay/jetty/webapp/webdefault.xml 文件
修改
<init-param> <param-name>useFileMappedBuffer</param-name> <param-value>true</param-value> </init-param>
为
<init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> </init-param>
然后放到 maven工程的 src/main/resources下,修改配置文件:
<build> <finalName>javaWebPro</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <scanIntervalSeconds>3</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> </connector> </connectors> <webAppConfig> <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor> </webAppConfig> </configuration> </plugin> </plugins> </pluginManagement> </build>
五 在Eclipse运行Maven命令
在 Eclipse中点击Maven的Web项目,右键选择Run As => Maven Build在配置窗口中Goals列中填写Maven命令: jetty:run , 保存配置,然后运行这个配置。
此时查看Eclipse的console控制台,会给出以下提示信息:
六 配置插件仓库
<!-- 配置插件仓库 --> <repositories> <!-- restlet 插件仓库 --> <repository> <id>maven-restlet</id> <name>Public online Restlet repository</name> <url>http://maven.restlet.org</url> </repository> <repository> <id>maven2-repository.java.net</id> <name>Java.net Repository for Maven</name> <url>http://download.java.net/maven/2/</url> </repository> <repository> <id>oschina Releases</id> <name>oschina Releases</name> <url>http://maven.oschina.net/content/groups/public</url> </repository> <repository> <id>nexus-osc</id> <name>Nexus osc</name> <url>http://maven.oschina.net/content/groups/public/</url> </repository> <repository> <id>nexus-osc-thirdparty</id> <name>thirdparty</name> <url>http://maven.oschina.net/content/repositories/thirdparty/</url> </repository> <!-- jesery插件仓库 --> <repository> <id>snapshot-repository.java.net</id> <name>Java.net Snapshot Repository for Maven</name> <url>https://maven.java.net/content/repositories/snapshots/</url> <layout>default</layout> </repository> </repositories>
相关文章推荐
- Eclipse使用Maven 插件方式直接部署项目到Tomcat
- eclipse-tomcatplugin部署maven项目方式八
- eclipse-tomcatplugin部署maven项目方式六
- eclipse-tomcat部署maven项目方式之二
- eclipse-tomcatplugin部署maven项目方式七
- Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 二
- maven构建android项目后,通过eclipse集成工具右键命令行方式部署到模拟器上进行调试
- eclipse+maven远程(自动)部署web项目到tomcat
- 将maven web项目部署到eclipse tomcat中
- eclipse中MAVEN的web项目部署至TOMCAT的步骤
- Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署
- 在eclipse下创建maven项目并部署到tomcat服务器下
- Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 .
- 有关使用Maven常见问题总结(Eclipse中使用Maven、Maven项目部署到tomcat等问题)
- Eclipse下的maven web项目部署到tomcat服务器没有启动的解决方案
- Eclipse+Maven创建webapp项目 及部署在tomcat上
- eclipse下实现maven项目在tomcat容器热部署方法
- Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 .
- [置顶] Maven多模块项目 eclipse热部署 Maven项目实现 tomcat热部署 二
- Eclipse下maven部署web项目到tomcat7(兼容tomcat8)