- 浏览: 137725 次
- 性别:
- 来自: 杭州
-
最新评论
-
云散风清lc:
水电费分散三大方法是[color=red][/color]
zkClient -
fireye83:
分开打包上传的,文件大小有限制,一个文件只能小于10M
android-sdk-window与ADT下载 -
kkppccdd:
Alumnus
Self-introduction template -
louieyu:
android-7的各个部分是不是一样的啊?来个说明啊
android-sdk-window与ADT下载 -
q694119254:
...
android 反编译心得
背景:之前我们在项目里maven的使用还是比较弱,主要就两点应用
①编译依赖,扩展nexus私服库,对使用的依赖jar包进行版本统一管理。
②扩展continumm,进行自动发布和自动集成单元测试。
问题:没有使用m2eclipse与tomcatplugin完成热布署之前,为了能直接启动tomcat,把web应用的输出目录直接放在工程下的src/main/webapp,编译输出也直接放在src/main/webapp/WEB-INF/classes,单元测试输出放在src/main/webapp/WEB-INF/test-classes,还要拷贝maven依赖下的jar包到WEB-INF/lib目录。这样做虽然能启动tomcat,但是带来其他一些不便和管理上的不规范
①首先拷贝jar包到lib,即增加了管理的时间,又可能导致编译依赖版本与lib下的运行版本不一致问题。
②maven规范输出路径是target,因此每次对Maven->Update Project Configurations,会发现Java Build Path->source下的Output又统统变回到target下的目录。然后只能又手动改回去..
③Junit做单元自测时,也是只认target目录,没办法,每次做自测之前,必须Run Configurations->Classpath- >Advanced...,把当前src/main/webapp/WEB-INF/classes及src/main/webapp/WEB-INF/test-classes加进来,这样才不会报ClassNotFoundException错误。效率很低。
目标:对应以上问题,通过M2eclipse与tomcatplugin热布署后,解决三个问题
①工程里去掉lib目录,发布时自动根据pom.xml里描述加载需要的包。
②把编译输出路径改成与maven规范一致的target路径,这样preferences->Maven->User Settings进行Update Settings操作后还是原来的路径。
③Junit单元测试时,不用每次都Run Configurations。
M2eclipse与tomcatplugin实现布署
一、下载tomcatplugin3.3,可以上官网下载,本站提供下载:http://resource.caidao8.com/technique/tomcatPluginV33.zip
同时必须下载经网友修改的tomcat.jar。本站提供下载:http://resource.caidao8.com/technique/tomcat.jar
如果你有兴趣可以下载源码:http://resource.caidao8.com/technique/tomcatsrc.rar。
下载完后,把com.sysdeo.eclipse.tomcat_3.3.0拷贝到你的eclipse(我这里的eclipse是3.5,同时也试过3.6) plugin目录,如果你已经有低版本的tomcatplugin,最好删除掉再拷贝。这样你的tomcatplugin插件就搞定了。
二、下载tomcat6或tomcat7后,设置Prefefrences->tomcat,如果你的eclipse版本在3.5之前,eclipse的Prefefrences->tomcat选项里还没有version tomcat7.x。不过还是可以通过选tomcat6.x,实际上加载的tomcat7。如下图配置
在要
要注意,如果加载tomcat7要在JVM-Settings加入tomcat-juli.jar,这是tomcat6.x加载tomcat7时额外要做的( tomcat 6不需要做这一步),否则一点start就会报找不到相关类。加载tomcat-juli.jar如下图:
三、接下来打开第一步com.sysdeo.eclipse.tomcat_3.3.0目录,看到有个Devloader.zip,还有一个DevloaderTomcat7.jar,如果你是Tomcat7,把DevloaderTomcat7.jar拷贝到TOMCAT_HOME/lib/目录下,如果是tomcat6,把Devloader.zip拷到TOMCAT_HOME/lib/目录下并重命名成Devloader.jar。如果是其他更低版本,直接解压Devloader.zip到TOMCAT_HOME/server/classes。tomcat6,7经测试都没问题,更低版本未经测试。
四、把当前工程设置成tomcat project
右击工程->properties->tomcat如下图
Is a Tomcat Project打上勾
Context name为空,
Subdirectory to set as web application root(optional)工程发布的目录 /src/main/webapp
接下来点击Devloader Classpath,如下图
从上图可以看到有两个选项
Use Maven与Activate DevLoader,而实际上使用标准的tomcatplugin插件,只有Activate DevLoader一个选项,如果你只出来一个选项,那么注意第一步下载了tomcat.jar,把它覆盖到com.sysdeo.eclipse.tomcat_3.3.0目录下的tomcat.jar,再重起eclipse,就发现有两个选项了。Activate DevLoader选项是把全部的maven repository下的jar都列出来让开发人员选,这样比较麻烦,因为repository里可能有好几个小版本,都给列出来后然后慢慢选,效率太差,而且还是没跟pom.xml描述挂勾。Use Maven选项,根据pom.xml描述自动加载,这样只要关心pom.xml的描述,只要确保pom.xml描述的统一与正确,各开发人员发布的版本就是一致的。设置完成后 点一下Apply,然后点eclipse上面的tomcat start,一切顺利运行,就算搞定了。这里说一下这里的Apply,根据刚才第二步tomcat的设置,我们用编辑器打开TOMCAT_HOME/conf/server.xml,先观察下它的初始配置,当你点击一下Apply后,会发现server.xml被修改了。根据当前步对tomcat project的配置,发现server.xml多出代码片段
<Context path="" reloadable="true" docBase="E:\projects\cmac\src\main\webapp" workDir="E:\projects\cmac\work" >
<Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1" useSystemClassLoaderAsParent="false" />
</Context>
如果再次点击Apply,会再多出一段这样的代码,因此配置好后,不要重复点击,否则就会重复布署多个应用了。如果重复点了,只好手动去编辑server.xml,并删除多余的配置。
同时细心观察的话,可以看到在工程下还生成了.#webclasspath文件,里面就是描述了输出的类及需要的依赖jar包列表,如果你想查看加载包是否正确,可以直接打个这个文件查看。
实施过程中需要重点了解的概念
1、重点要了解pom依赖描述的scope,classifier两个属性
scope与maven的生命周期有关系,主要有五种状态:
①默认是compile,传递整个生命周期并最终输出。
②provided,最终不输出,比如servlet-api.jar,在编译的时候是需要的,但是发布的时候就不能输出,因为tomcat自带了servlet-api.jar,如果输出的话,会引起冲突,当然也可以使用system方式,在依赖描述的时候就使用tomcat下的servlet- api.jar。
③test,比如spring-test,这种只在测试阶段使用。
④runtime,编译时没用,只在测试及运行时用。
⑤system,与provided类似,如第二点所讲,直接引用外部jar包,而不去maven repository下找相关jar了。
2、classifier一般是指当前的包有的限制性,比如只适用于jdk1.4或其他的一些限制,如果包有这种属性,将不能被发布,这时我们修改名字,再传到nexus私服,去掉classifier属性就可以了。
路径问题的解决
工程采用了M2eclipse与tomcatplugin布署后的第一天一切顺利,但次日一早过来把WEB-INF下的classes目录彻底删除后,出现了新问题,起动Tomcat会报找不到/WEB-INF/classes/log4j.properties,也找不到/WEB- INF/classes/ApplicationContext*.xml,
需要修改这里的配置方式改成如下配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
发表评论
-
zooKeeper在weblogic下的bug
2014-12-18 17:24 3158因为项目中需要使用分 ... -
zkClient
2013-11-03 21:50 8361直接使用zk的api实现业务功能比较繁琐。因为要处理sess ... -
I0Itec-zkClient小结
2013-11-03 17:17 897zookeeper客户端目前社区中比较多,而且大家在使用zo ... -
统一权限目的
2013-05-28 12:35 01.已经拥有了一套基于角色的系统,(IVMS8200 ... -
Java开发中的Memcache原理及实现
2013-01-10 10:56 805七、 Memcached 客户端程序 ... -
ant ftp 大文件上传不上去问题
2013-01-06 13:58 1184ant支持ftp上传需要commons-net的jar包支持, ... -
2011-07-13 19:43 java 如何检测内存泄漏
2012-12-25 13:54 836http://hi.baidu.com/l_rigidity/ ... -
大对象数据的的处理clob和blob
2012-12-19 13:47 01、什么是clob和blob? ... -
MYSQ数据库CLOB、BLOB存取
2012-12-19 13:46 891文本大字段类型(CLOB) ------------ ... -
java存取oracle中的COLB类型数据
2012-12-19 11:55 940java存取oracle中的COLB类型数据 http:// ... -
hibernat批量处理和存取大对象
2012-12-19 11:48 843http://wenku.baidu.com/view/6f6 ... -
String 、InputStream、Reader 之间的转换
2012-12-19 11:01 9581、String –> InputStreamInput ... -
Batch update returned unexpected row count from update [2]; actual row count
2012-08-09 15:49 4655Batch update returned unexpecte ... -
集群中几种session同步解决方案的比较
2012-06-12 17:12 6426集群中session安全和同步是个最大的问题,下面是我收集 ... -
Hibernate和Mysql5.5创建表出错——type=InnDB
2012-06-11 10:50 1108今天把以前做的一个项目迁移到自己的机器上,项目使用SSH。 ... -
使用 生成runnable jar
2012-06-08 09:12 2228<?xml version="1.0" ... -
tomcat 增大内存
2012-05-28 15:33 868很大的web工程,用tomcat默认分配的内存空间无法启动,如 ... -
sql性能监控(p6spy使用)
2012-05-05 17:50 845http://xiongzhenhui.iteye.com/b ... -
提高hibernate性能
2012-05-05 17:43 749http://blog.csdn.net/tianyawudi ... -
Hibernate之性能监测方法与工具
2012-05-05 17:41 767http://peirenlei.iteye.com/blog ...
相关推荐
Eclipse插件-TomcatPlugin下载tomcaEclipse插件-TomcatPlugin下载tomcaEclipse插件-TomcatPlugin下载tomcaEclipse插件-TomcatPlugin下载tomca
TomcatPlugin 提供了与 Tomcat 服务器无缝集成的功能,使得开发者无需离开 Eclipse 就能完成以下操作: 1. **安装和配置 Tomcat**:用户可以直接通过插件下载和安装 Tomcat,避免手动配置环境变量和路径。 2. **...
通过上述知识点,我们可以了解到Eclipse与TomcatPlugin插件结合使用时提供的强大功能,比如简化了Tomcat服务器的启动、停止、重启等操作,以及在Eclipse内部进行Web项目的创建、管理和部署等流程。掌握这些知识点...
【描述】"TomcatPlugin eclipse插件"的描述揭示了它与Eclipse的紧密集成。Eclipse是Java开发人员广泛使用的开源IDE,而Tomcat则是一款流行的轻量级Java应用服务器,特别适合开发和部署Servlet和JSP应用。通过安装此...
总之,Eclipse插件-TomcatPlugin是Java Web开发者不可或缺的工具之一,它将Eclipse的强大功能与Tomcat的稳定性能相结合,为开发和调试Java Web应用提供了无缝集成的环境。通过熟练掌握和运用这款插件,可以提升开发...
Eclipse Tomcat Plugin最新插件,官方下载,解决在线安装报错问题, 支持以下版本Eclipse, 请分别将plugin和features内的jar包放入eclipse内相同文件夹内即可,记得重启eclipse!! Oxygen (4.7) Neon (4.6) Mars ...
Eclipse与Tomcat结合使用详解 Eclipse是目前最流行的Java集成开发环境之一,而Tomcat是最流行的Java Web应用服务器。将Eclipse和Tomcat结合起来使用,可以大大提高编程效率和程序的快速发布速度。因此,本文将详细...
Eclipse Tomcat插件 将解压后得文件夹复制到eclipse的plugins目录下,比如:D:\eclipse\plugins里面。然后重新启动eclipse,在eclipse工具栏中就会有三个Tomcat图标:启动、停止、重启
在Eclipse中使用TomcatPlugin,开发者可以快速部署和运行基于Java Web的应用程序,无需离开IDE就能进行调试和测试,极大地提高了开发流程的便利性。 TomcatPlugin的主要功能包括: 1. **集成安装**:该插件允许用户...
描述中提到的“改造”可能是指对Tomcat Plugin进行了一些定制,使其能更好地与M2Eclipse集成,特别是针对Maven依赖的热部署。这可能涉及到修改插件的源代码(如`tomcatsrc`文件),添加或调整某些功能,使得插件...
【标签】"tomcatPlugin" 标签明确了讨论的主题,即与Eclipse中的Tomcat插件相关的技术内容,包括如何安装、配置和使用该插件,以及它提供的各种功能,如服务器管理、应用部署和调试工具。 【文件名称】...
"eclipse部署tomcat报错解决方案" 在Eclipse中部署Tomcat服务器时,可能会遇到各种问题。本文将讨论在Eclipse中部署Tomcat服务器时出现的问题和解决方案。 问题描述 在Eclipse中部署Tomcat服务器时,可能会出现...
eclipse配置tomcat:Eclipse 配置 Tomcat 详细教程; eclipse配置tomcat:Eclipse 配置 Tomcat 详细教程; eclipse配置tomcat:Eclipse 配置 Tomcat 详细教程; eclipse配置tomcat:Eclipse 配置 Tomcat 详细教程; ...
5. **安装与使用**:要使用Tomcat插件9.1.4,用户需要先将其解压,然后按照插件提供的指南将其导入到相应的IDE中,根据IDE的不同,步骤可能会有所差异。一旦安装完成,开发者就可以在IDE的工具栏找到与Tomcat相关的...
在实际使用中,确保插件版本与Eclipse版本和Tomcat版本兼容是非常重要的,否则可能会出现不兼容问题。 总结来说,Eclipse插件Tomcat是Java Web开发中的重要工具,它简化了开发者与Tomcat服务器的交互,提供了便捷的...
标题 "eclipse-tomcat.zip" 指的是一个包含了Eclipse集成开发环境与Tomcat服务器集成的相关组件的压缩文件。这个压缩包主要是为了帮助开发者在Eclipse中方便地管理和运行Spring应用程序而设计的。核心组件是 ...
用于离线安装Tomcat的包锁使用的
对于"eclipse4.6 安装插件 tomcat"这个标签,我们可以理解为如何在Eclipse 4.6中安装和使用Tomcat插件。通常,Eclipse插件的安装可以通过以下步骤进行: 1. 打开Eclipse,进入“帮助”(Help)菜单,选择“Eclipse ...
Eclipse与Maven和Tomcat的配合可以通过以下方式实现: 1. **Maven的生命周期**:Maven的`install`目标会把编译后的项目打包并部署到本地仓库,`tomcat7:run`或`tomcat8:run`插件目标可以直接启动Tomcat服务器并部署...
### Eclipse + Tomcat 的安装与配置详解 #### 一、前言 在现代软件开发过程中,集成开发环境(IDE)与应用服务器之间的高效配合对于提高开发效率至关重要。Eclipse是一款非常流行的开源IDE,广泛应用于Java应用...