精华内容
下载资源
问答
  • tomcat 替换war不生效

    千次阅读 2018-09-18 09:47:08
    检查war之前解压后的文件夹,发现里面的文件日期还是旧的,删了war对应的文件夹,再重启tomcat就好了

    检查war包之前解压后的文件夹,发现里面的文件日期还是旧的,删了war包对应的文件夹,再重启tomcat就好了

    展开全文
  • 当更新war时,不停tomcat服务器,直接更换war的话,导致tomcat检测到有新的war自动更新项目,因为项目里有新建的软连接,而新上传的war里是没有软链接的,tomcat自动更新项目时,会删除软连接。除了删除软连接外...
  • tomcat下的lib下的jar

    2018-10-04 23:13:24
    tomcat下的lib的jar,把这上面的所有jar全选复制,然后粘贴到lib下就行了。
  • tomcat替换.class文件

    千次阅读 2019-12-19 10:04:34
    最近往服务器上的tomcat替换webapps里的工程class文件,出现不能直接生效而是需要重启才能生效的现象,非常影响效率,后才知道需要在tomcat目录下的conf文件夹下的server.xml文件的host节点下加上如下配置: ...

    更新项目的时候,可以不删除整个目录,只替换一个 .class文件。

    但是呢,有时候是有效的,有时候程序无效,需要重新启动一下。

     

    最近往服务器上的tomcat上替换webapps里的工程class文件,出现不能直接生效而是需要重启才能生效的现象,非常影响效率,后才知道需要在tomcat目录下的conf文件夹下的server.xml文件的host节点下加上如下配置:

    <Context path="/pdd" docBase="/var/tomcat/tomcat-7/webapps/pdd" 
    debug="0" privileged="true" reloadable="true"/>

    就可实现替换后重新加载的效果。


     

    替换完class,是否需要重启容器? 例如tomcat7是无需重启的,但是常量类不再规范的一个类的时候,可能修改了一个类,其他的编译好的仍然使用原值。

    如果替换的class文件中包含常量,但是常量类中的常量值没有替换,就会出问题。

     

     

    参考资料:

    tomcat替换class后不生效

    https://blog.csdn.net/lyd135364/article/details/89218908

     

    tomcat替换.class文件并没有生效的原因(失效原因)(转)

    https://www.cnblogs.com/jpfss/p/7274178.html

    展开全文
  • 直接将该下载解压到tomcat 7.0.42 lib 替换即可
  • 情况是这样的,tomcat替换了一个应用jar,这个jar中修改了一个方法。 一共部署了2个tomcat,其中一个tomcat重启了,另外一个tomcat未重启, 在未重启的tomcat上使用包含这出修改代码的功能出现异常,这是为什么? ...
  • 方法一 <Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true">...Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\webapps\xxx.war" debug="0"> </Host> 这...

    方法一

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    		<Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\webapps\em" reloadable="true"></Context>
    </Host>
    

    修改server.xml配置文件,在conf文件夹下。这里在Host标签下新增Context标签,docBase为项目路径,docBase为你war包的路径,其中em为war包名称。
    这样配置后,会导致项目进行两次部署。
    原因是appBase默认为webapps,即对webapps目录下的war包进行一次部署,docBase也有着相同的效果,war包会再进行一次部署。

    方法二

    <Host name="localhost"  appBase="" unpackWARs="true" autoDeploy="true">
    		<Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\webapps\em" reloadable="true"></Context>
    </Host>
    

    修改server.xml配置文件。配置如上,将appBase置为空,这样就只有内层一次部署了。但这样配置有一个缺陷,就是war包不会自动解压。因此我们之后无法在webapps文件夹下修改已经解压好的war包,或者我们直接上传解压好的war包。
    编辑:后经测试发现,再tomcat的根目录下新建了一个名为ROOT的文件夹,内容是解压后的war包文件。因此可以理解为appBase指定的是解压文件的路径,这里置为空的话默认就解压到根目录了。所以我们尽量不要使用这种方法,解压后的文件夹最好应在webapps下,方便管理。

    方法三

    方法二中的缺陷如何解决呢,这里我们还有一种暴力方法。
    ROOT文件夹是tomcat默认的根目录,用来测试tomcat是否安装部署成功,也就是访问localhost:端口号时候会出来一只猫的页面。因此在生产环境上是没什么作用的。
    所以这里可以直接把之前的ROOT文件夹干掉,把自己的包命名为ROOT.war。可自动解压,包名前缀会去掉。

    方法四

    上一种方法太不优雅了,这里介绍另一种方法。

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    		<Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\myapps\em.war" reloadable="true"></Context>
    </Host>
    

    同样是修改server.xml配置文件。
    这里注意以下几点:
    1.appBase为webapps,即我们解压后的文件会到这个目录下。
    2.Context标签中的path为空
    3.Context标签中的docBase,注意下路径不要在webapps文件夹下,这里我们新建了一个文件夹myapps,em.war,是我们项目的war包名称。
    4.需要将webapps文件夹下原ROOT文件夹删除,因为我们这样做解压后的文件夹名为ROOT,如果原来已经有ROOT则不会发生解压操作。

    方法五

    方法四可以有另一种实现,即server.xml配置文件不做修改。
    在“conf/Catalina/localhost”文件夹下新增一个xml文件,名为ROOT.xml,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\myapps\em.war"></Context>
    

    与上一个方法一样,需要先将webapps文件夹下的ROOT文件夹删除,否则不会正确解压。

    总结

    综上所述,还是应该采取方法三、四、五中的一种。
    方法一会进行两次部署肯定是不可以的,会大大增加启动tomcat的速度。
    方法二中无法显示解压后的文件夹,肯定也是不对的。因为使用tomcat肯定是为了可以很方便的动态替换部分文件,压缩的war包是无法实现这个效果的。
    因此,在后三种方法,选择一种最适合自己的方法吧!!

    展开全文
  • 入门linux--tomcat换war

    千次阅读 2017-06-20 10:07:48
    目录前言:没有接触过linux系统之前,都会觉得很神秘,觉得纯命令行是多么牛逼,今天特意看了下怎么放war 记录下全部的流程,方便初学者入门,本人也只是入门水平。 使用的 xshell 远程链接上 服务器,查看当前...

    目录

    前言:没有接触过linux系统之前,都会觉得很神秘,觉得纯命令行是多么牛逼,今天特意看了下怎么放war包
    记录下全部的流程,方便初学者入门,本人也只是入门水平。
    使用的 xshell 远程链接上 服务器,

    查看当前服务器中运行的进程

    命令:ps -ef | grep tomcat
    会出现: vmuser 1234 ….描述信息. baidu.war…
    vmuser 2345 …..描述信息………souhu.war..

    *可能一个tomcat会有多个线程在运行多个不同的war包,所以需要进行查看,找到属于自己的war包,前提是服务器本身已经有war包,如果是一台新服务器,那你就不用理会,直接进入tomcat目录,命令: cd ……..

    关闭某一个线程

    命令: kill -9 1234
    *这样就把 1234 这个线程关闭了,baidu.war就停止了服务

    删除war包

    命令: rm -rf baidu.war
    *直接删除掉上一次的war包,或者你也可以选择给它重命名,

    给服务器上传新war包

    命令: rz
    * xshell直接会弹出一个 窗口,让你选择文件,你就选择本地的war包就行了

    运行 .sh文件

    命令: sh baidu.sh
    * baidu.sh 文件 可能是一个类似于 windows中的.bat的文件你直接运行它,然后你的tomcat就会启动,我猜测的

    查看启动日志

    命令: tail -f ./logs/catalina.out
    * 敲了之后你就会看到 服务是否成功启动,

    退出日志

    命令: ctrl +c

    展开全文
  • 1、简单粗暴的方式直接替换tomcat默认应用 第一步:找到webapps(这是tomcat默认放置应用的目录) 里面有一个ROOT应用,此时你应用应该与同一级目录,首先将ROOT文件名修改成ROOT1或者其它,再将你的应用的名称修改成...
  • Tomcat下实现热部署和自动解压war包替换现有文件夹的操作
  • 首先先了解一下tomcat的基本文件夹 当解压完tomcat,内面文件基本有如下 bin文件夹 主要是存放tomcat的启动,配置和关闭的exe等可执行、编辑的文件。 startup.bat是启动tomcat shutdown.bat则是关闭tomcat 其余的...
  • 2、将 tomcat-juli.jar 拷贝到 Tomcat 的 bin 目录下,替换原有的jar; 3、将log4j-1.2.17.jar、tomcat-juli-adapters.jar、tomcat-juli.jar三个jar和log4j.properties文件添加权限(命令行:chmod 755 文件名...
  • 记一次:替换class文件重启tomcat无效替换了一个文件,然后重启tomcat后一直不生效 替换了一个文件,然后重启tomcat后一直不生效 如果你修改的内容为final类型的常量,想要生效,则必须将使用该常量的所有类重新编译...
  • spring-boot-starter-web包中默认自带的...如果要替换掉内置的Tomcat容器,比如改成Undertow容器,需要先排除spring-boot-starter-web包中的Tomcat依赖,再增加spring-boot-starter-undertow的依赖,如下: <dep...
  • seesion共享需替换tomcat下lib的
  • 这篇文章主要是分析Tomcat中关于热部署和JSP更新替换的原理,在此之前先介绍class的热替换和class的卸载的原理。 一 class的热替换 ClassLoader中重要的方法 loadClass  ClassLoader.loadClass(...) 是...
  • 踩坑记录:替换tomcat中.class文件不生效 某次升级生产环境时,替换tomcat中.class文件不生效,经定位是此class文件是常量类,在编译时引用此类的引用类已经把值取到并以常量的形式加载到本身,常量类class调整后,...
  • 替换文件需要加上 $classMapper这个类, 编译成class的时候,会把public class 中的protected class 编译为$.class , 所以替换的时候也要找到这个class替换上, 不过对于这中替换,最好是打成war包替换.  
  • 对于java web项目,可以先在开发环境...所谓的部署到tomcate服务器其实就是将项目的war放在tomcate的工作目录下的。 注意替换文件的时候一定要先双击下载备份,如果直接覆盖没有备份的话,出现问题就很难恢复 ...
  • tomcat 更新jar更新 无效

    千次阅读 2018-05-24 02:28:56
    后面发现是 旧的jar 被改了名字,后面加了日期,依旧是放在lib下。后面删掉这种旧jar,貌似就行了。更新的时候,最好是全部更新,有时候单独更新jar,可能存在更新不到的情况...
  • 项目中有时候会遇到jar冲突的问题, 报以下异常 Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory....
  • Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。而该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者可通过构造特定参数读取webapp目录下的任意文件。 漏洞影响范围: Apache Tomcat = 6 ...
  • Tomcat面试题+http面试题+Nginx面试题+常见面试题

    千次阅读 多人点赞 2019-12-12 15:04:43
    Tomcat面试题 1、Tomcat的缺省端口是多少?怎么修改? 答:缺省端口是8080,若要修改,可以进入Tomcat的安装目录下找到conf目录下的server.xml文件,找到该文件中的Connector字段中的port。 2、Tomcat有哪几种...
  • 使用 Undertow 替换Tomcat

    万次阅读 2018-11-01 14:24:55
      官方说:For servlet stack applications, the spring-boot-starter-web includes Tomcat by including spring-boot-starter-tomcat, but you can use spring-boot-starter-jetty or spring-...
  • web项目使用到很多POM文件中的profile的变量,但是直接通过eclipse,run as项目,就不会将这些变量替换,当然也可以手动通过Mvn编译成war然后在本地运行,但是这样的话,就没办法通过eclipse进行调试。 项目的POM...
  • 问题背景:直接手动替换Tomcat的某一个class文件,服务起来后却还 执行之前的代码。 分析原因:出现问题找了一些原因,说是缓存,分别删除了Tomcat安装目录下的work/Catalina所有文件夹以及temp下的所有文件,均...
  • 一、框架 springboot: 2.1.6.RELEASE ...tomcat: 7.0.82 mybatis-spring-boot-starter: 2.0.1 mysql-connector-java: 8.0.16 二、报错 Caused by: org.springframework.beans.factory.BeanCrea...
  • SpringBoot默认使用的容器是tomcat,如果想换成undertow容器,只需修改pom.xml文件 修改如下: 1.去除默认的Tomcat容器 2.引入Undertow依赖 <?xml version="1.0" encoding="UTF-8"?> &l...
  • 远程服务器上的tomcat怎么更新war

    千次阅读 2018-10-06 16:36:27
    1.导出最新的war。     2.利用xftp5连接远程服务器,将旧的war删除,新的war复制过去。     3.重启tomcat

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,233
精华内容 21,693
关键字:

tomcat替换包名