关于m2eclipse与tomcatplugin插件如何相互配合进行热部署
没有使用Maven插件时,如何进行tomcat热部署
一、首先在Eclipse中安装tomcatplugin插件,详细安装方法见
http://zheng12tian.iteye.com/blog/1772322
二、配置tomcat
在没有引入Maven前,如果我们想要在修改开发代码后,不重启服务器,让Tomcat自动重新加载Workspace中项目的class,通常我们的做法是:
1、选中你的工程,然后同时按住Ctrl+Enter,在弹出框中选中Tomcat选项,然后在
Is a Tomcat Project打上勾,在
Context name填入工程名,例如:tools。然后在
Subdirectory to set as web application root(optional)工程发布的目录中填入工程根目录:/src/main/webapp。上述的做法的最终目的就是为了在tomcat-6.0.32\conf\Catalina\localhost路径下生成一个xml文件,文件内容如下:
<Context path="/tools" reloadable="true" docBase="D:\workspace\tools\src\main\webapp" workDir="D:\workspace\tools\work" >
</Context>
2、设置java源文件编译路径到src/main/webapp/WEB-INF/classes目录下
3、将项目依赖的jar包全部拷贝到src/main/webapp/WEB-INF/lib目录下,将相关的配置文件拷贝到src/main/webapp/WEB-INF/classes目录下。
三、如此,每次当代码出现改动时,tomcat会自动感知修改,然后进行加载,不需要手动部署项目,也不需要重启服务器。
当使用Maven插件后,如何进行tomcat热部署
当使用Maven后,由于Maven将java文件全部编译到target\classes目录,且jar包也采用引用本地jar包库,因此在src/main/webapp/WEB-INF目录下不会出现classes和lib目录。
那么如何解决上述问题呢?
一、首先我们要将Maven工程转变为一个web项目。打开工程属性,在左边选中Project Facets,在右边选中java和Dynamic Web Module(先选java),点击OK。这样,工程就变成一个web工程了。注意java和Dynamic Web Module的版本:
二、然后我们需对tomcat插件进行一些配置。打开工程属性,在左边选中Deployment Assembly,在右边配置web应用结构,如下图:
三、配置tomcat的管理员角色,在tomcat安装目录中(我自己的目录为E:\Program Files\tomcat-6.0.32\conf\tomcat-users.xml)tomcat-users.xml,增加如下配置:
<tomcat-users>
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
</tomcat-users>
四、然后修改Maven的settings.xml的配置文件,增加如下片段,让tomcat-maven-plugin插件可以顺利的访问tomcat的http://localhost:8080/manager/html页面,下面的配置主要是配置访问时需要用到的用户名和密码:
<servers>
<server>
<id>tomcat6-manager</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
在settings.xml文件中还可以设置用Maven创建工程时,jdk的版本,因为默认是1.5。大家现在都是1.6了,所以这个默认设置很不爽,可以增加如下片段:
<profile>
<id>jdk-1.6</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
</profile>
五、剩下的就是配置pom文件了,我将我的springMvc学习工程的pom文件贴出来,如下所示:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zhengtian.study</groupId>
<artifactId>spring-mvc</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring-mvc Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
<build>
<finalName>spring-mvc</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>tomcat6-manager</server>
<username>admin</username>
<password>admin</password>
</configuration>
</plugin>
</plugins>
</build>
</project>
六、配置完pom后,最后的就是如何进行部署,启动tomcat服务。
这里要注意的是去掉在tomcat-6.0.32\conf\Catalina\localhost路径下生成的xml文件,因为我们是通过tomcat的manager动态部署的,所以不需要这个context文件。
然后,启动tomcat。如果不启动tomcat,tomcat-maven-plugin插件是无法访问tomcat的http://localhost:8080/manager/html页面的。
最后是输入maven命令,war:exploded tomcat:exploded,该命令的意思就是将maven工程打war包需要的文件都拷贝的target目录,但是不打成war包。然后用目录的方式部署到tomcat,不是war包部署。如下图:
附件中是完整的Maven的setting.xml文件
- 大小: 158.5 KB
- 大小: 139.2 KB
- 大小: 137.2 KB
分享到:
相关推荐
【 Maven 热部署在 Eclipse 和 Tomcat 中的实践】 Maven 是一个强大的构建工具,广泛用于Java项目管理,它负责构建、依赖管理和项目信息管理。在开发Web应用程序时,结合Eclipse集成开发环境(IDE)和Tomcat服务器...
标题中的“配合m2eclipse,改造tomcatPluginV321根据maven的依赖自动热部署”涉及了两个主要的开发工具集成:M2Eclipse(Maven插件)和Tomcat Plugin V321,以及它们如何协同工作以实现基于Maven依赖的自动热部署。...
通过上述步骤,我们不仅配置了Tomcat的管理用户,定义了Maven中的本地服务器,还创建了一个可以进行热部署的Maven Web项目。这对于快速迭代开发、减少等待时间有着显著的积极作用。然而,需要注意的是,虽然热部署...
Tomcat插件将Tomcat服务器集成到Eclipse中,使得开发者可以在IDE内部启动、停止和调试应用,无需手动管理命令行。安装插件后,可以方便地进行热部署,快速查看应用效果。这种紧密集成提高了开发效率,减少了开发与...
maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把tomcat作为内嵌服务器启动,就像jetty一样。 使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现...
在Java开发过程中,Maven作为一个强大的构建工具,能够有效地管理和构建项目,而Tomcat作为流行的Servlet容器,常常被用于运行和测试Web应用。本篇将详细介绍如何通过Maven集成Tomcat,实现项目的热部署,从而提高...
总之,Eclipse-Tomcat插件通过整合Tomcat服务器的功能于Eclipse IDE中,使得Java Web开发者能够在熟悉的环境中完成从开发、测试到部署的全过程,大大提高了开发的便利性和效率。无论是初学者还是经验丰富的开发者,...
热部署主要应用于Web应用程序的开发和测试阶段,例如在开发环境中,对应用程序进行快速的迭代和测试。 热部署的注意事项 热部署需要服务器支持热部署机制,否则将无法实现热部署。同时,热部署也需要正确地配置...
在Eclipse中,实现热部署的一种常见方式是通过插件JRebel。JRebel是一款商业的热部署工具,它能够实时反映代码更改,避免了反复重启服务器的过程。下面是使用JRebel进行热部署的步骤: 1. **安装JRebel插件**:访问...
- 安装支持热部署的插件,例如 `m2e-wtp`,它可以将 Maven 项目直接部署到 Eclipse 集成的 Tomcat 服务器。 - 配置 `pom.xml` 中的 `tomcat7-maven-plugin` 或 `tomcat8-maven-plugin`,指定服务器路径和部署配置...
Eclipse Mars.2 Release (4.5.2),maven 3.3.9,tomcat7,JRebel6.4.3,包内包含JRebel与详细使用说明,纯手写,且亲测可用,eclipse,maven,tomcat可自行下载,JRebel为破解版,码字辛苦,望各位大神给1分辛苦费
只需在Tomcat中集成JRebel插件,就能实现Java类、资源文件的热部署。 3. **使用TOMCAT_MANAGER** 通过Tomcat的Manager应用,可以实现对特定应用的部署、卸载、更新操作。不过,这需要在`tomcat-users.xml`中为用户...
Maven Tomcat Plugin就是这样一个工具,它使得开发者可以在Maven环境中对Tomcat服务器进行热部署。 Maven Tomcat Plugin分为两个版本:一个是Apache官方的tomcat-maven-plugin,另一个是第三方的tomcat-maven-...
在Eclipse中使用Maven工程管理项目时,默认使用Tomcat6的版本,但是在实际开发中,我们可能需要使用Tomcat7以上的版本来支持新的功能和特性。下面,我们将详细介绍如何在Eclipse中使用Maven工程使用Tomcat7以上插件...
除了基本的使用,Eclipse的Tomcat插件还支持一些高级功能,例如热部署(无需重启服务器即可更新代码)、多版本Tomcat管理、以及与Maven项目的集成等。熟悉这些功能能够让你在开发过程中更加得心应手。 总之,...
4. Eclipse/Tomcat Integration:Eclipse也有类似的插件,如WTP(Web Tools Platform),能够方便地在Eclipse中管理和调试Tomcat应用。 5. Maven Tomcat Plugin:使用Maven构建项目的开发者可以通过Maven插件直接将...
为了实现热部署,我们需要配置Maven的Tomcat插件,例如`maven-war-plugin`和`tomcat7-maven-plugin`: ```xml <finalName>SimpleWebProject <groupId>org.apache.maven.plugins <artifactId>maven-war-...