标签 Tomcat 下的文章

Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'

tomcat项目配置好了之后,跑起来报错:

Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'

光是去注意到了web-inf\lib下面的jar包都存在没有出现缺失的问题。后台发现jtds.jar之类的数据库连接jar是放在tomcat\lib目录下。登陆远程63,覆盖了一次tomcat\lib下面的jar包就解决了。下图高亮的部分是公司自己加的jar包。因为是在家里面用的x1重新搭建tomcat环境搞的。所以有些公司配置好的jar没有。

jtds.png

Tomcat 7 控制台日志输出到文件,tail.exe实时查看Tomcat日志

1、修改startup.bat

把 call “%EXECUTABLE%” start %CMD_LINE_ARGS% 修改为 call “%EXECUTABLE%” run %CMD_LINE_ARGS%

2、修改catalina.bat

查找 catalina.bat 含有 %ACTION% 的4行内容(在文件末),在后面添加

>> %CATALINA_HOME%/logs/catalina.%date:~0,4%.%date:~5,2%.%date:~8,2%.out

这样System.out.println输出的内容会输出到/logs/catalina.2018-03-19.out之类的文件中。

但是如果要实时查看这个日志的内容怎么办呢?不可能每次用文本编辑器打开,刷新,重新打开。。。这里可以用到tail.exe可以查看日志实时生成的新内容。命令行:

C:\server3.0\SERVER\pis-win64\flume-1.6.0-final\plugins\tail.exe  -f C:\server3.0\SERVER\pis-win64\apache-tomcat-7.0.65\logs\catalina.2018-03-19.out

-f参数会让tail一直循环读取日志的新数据。有新数据就会滚动显示,和tomcat console一样的。更多tail参数用法参考这里

Tomcat控制台乱码

默认cmd的编码是GBK。
打开catalina.bat文件。 修改 -Dfile.encoding=UTF8为: -Dfile.encoding=GBK,其他的参数不变,如果没有 -Dfile.encoding=UTF8,则直接增加 -Dfile.encoding=GBK 即可;
修改以上
System.propers("file.enconde");会对应变化。

Caused by: java.lang.NoClassDefFoundError: FilterConfig

1、错误描述

Caused by: java.lang.NoClassDefFoundError: FilterConfig

2、错误原因

缺少Tomcat中相关的jar

3、解决办法

(1)项目鼠标右键--->Build Path

(2)Add Library...

(3)点击“Next”选择Tomcat

Tomcat的server.xml被自动还原

当我们在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml和content.xml文件。

但是当我们修改完后重启Tomcat服务器时发现xml文件又被还原了,修改无效果。

为什么会还原?

Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但是我的项目是自己手动在外面部署的,Eclipse只认得在它里面部署的项目,因此它会创建一个新的server.xml文件覆盖原来的文件,里面只有Eclipse中部署的项目。

解决方法一:

设置Ecplise,取消掉自动发布功能。

依次选择 Window-Preferences-Server-Launching,取消Automatically publish wen starting servers,点击OK,搞定。

解决方法二:

Ecplise项目中有一个Server项目,有一个Tomcat v7.0 Server at localhost-config,

里面也有server.xmlcontent.xml,替换成你修改后的文件。Tomcat重新发布时会用这里的配置文件覆盖Tomcat下的conf下的文件。