linux部署tomcat以及jdk的相关小结
来源:互联网 发布:ubuntu中文社区 编辑:程序博客网 时间:2024/06/05 07:52
本周出差去给客户配置安装linux下的tomcat和jdk,部署项目。启动tmcat时出现异常Invalid byte 2 of 2-byte UTF-8 sequence.
WARNING: Catalina.start using conf/server.xml:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:369)
at com.sun.org.apache.xerces. internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(XMLEntityScanner.java:1242)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(XMLScanner.java:769)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanComment(XMLDocumentFragmentScannerImpl.java:1040)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2954)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1675)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Met
。。。。。。
很明显是编码的原因,加载xml文件时编码导致的。后来发现是server.xml文件,当时由于部署的是多个项目,所以在server.xml里面添加了tomcat的session共享的配置,如下:在 service.xml 的 host标签添加
<!--项目session共享配置-->
<Context path="/gove" reloadable="false" crossContext="true" defaultSessionTimeOut="7200"></Context>
<Context path="/GovernmentPlatform" reloadable="false" crossContext="true" defaultSessionTimeOut="7200"></Context>
就是因为这一行中文注释,罪魁祸首就是他。当然除了删除这行中文注释以外还可以修改server.xml文件最开始的编码设置。都是解决问题的办法。
顺便把当时vi的/etc 的profile文件中添加的tomcat和jdk的环境变量的配置放在这:
export JAVA_HOME=/usr/local/jdk6
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=.:$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat6
=========================下面来说第二个遇到的情形:unpack200命令。
linux 启动tomcat报错,大意是对应目录下找不到对应的jar文件。因为这次上传的jdk和tomcat文件都是免解压的,进入到对应目录才发现,缺少的jar文件后缀都是.pack,而不是.jar。 使用 unpack200解压即可。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
WARNING: Catalina.start using conf/server.xml:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:369)
at com.sun.org.apache.xerces. internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(XMLEntityScanner.java:1242)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(XMLScanner.java:769)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanComment(XMLDocumentFragmentScannerImpl.java:1040)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2954)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1675)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Met
。。。。。。
很明显是编码的原因,加载xml文件时编码导致的。后来发现是server.xml文件,当时由于部署的是多个项目,所以在server.xml里面添加了tomcat的session共享的配置,如下:在 service.xml 的 host标签添加
<!--项目session共享配置-->
<Context path="/gove" reloadable="false" crossContext="true" defaultSessionTimeOut="7200"></Context>
<Context path="/GovernmentPlatform" reloadable="false" crossContext="true" defaultSessionTimeOut="7200"></Context>
就是因为这一行中文注释,罪魁祸首就是他。当然除了删除这行中文注释以外还可以修改server.xml文件最开始的编码设置。都是解决问题的办法。
顺便把当时vi的/etc 的profile文件中添加的tomcat和jdk的环境变量的配置放在这:
export JAVA_HOME=/usr/local/jdk6
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=.:$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat6
=========================下面来说第二个遇到的情形:unpack200命令。
linux 启动tomcat报错,大意是对应目录下找不到对应的jar文件。因为这次上传的jdk和tomcat文件都是免解压的,进入到对应目录才发现,缺少的jar文件后缀都是.pack,而不是.jar。 使用 unpack200解压即可。
======================三。关于 ./
执行unix或linux中除了path系统变量外的目录下的命令都要加./。
修改用户的 .bash_profile,在 PATH一行最后加上 “:.” (一个冒号,一个点) ,然后退出重新登陆用户就ok了! PATH中没有定义路径,加上就ok了。
./表示当前目录,这是因为linux的默认搜索目录里没有当前目录,所以如果你在当前目录需要执行程序就要加上路径./,用全路径代替也是可以的。
win/dos的默认搜索路径里有当前目录,所以不需要加。其实加上也是一样的效果。
===============四
tomcat的server.xml文件中记得 设置解决uri参数传递中文的编码设定,防止出现乱码。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
0 0
- linux部署tomcat以及jdk的相关小结
- Linux 安装jdk 以及部署 tomcat
- linux上安装jdk、tomcat、mysql以及项目部署
- linux系统下的jdk安装,环境变量配置以及tomcat的相关问题
- linux部署jdk和tomcat
- linux部署JDK+tomcat+mariaDb
- linux下的环境的部署 jdk tomcat
- linux 下jdk和tomcat的安装部署
- linux部署tomcat并使用默认的jdk
- day30 Linux中安装JDK, MySQL, tomcat, 部署nginx集群, 以及window中部署tomcat+nginx集群
- (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合
- linux(centos)下tar包安装jdk和tomcat,以及部署web项目
- linux下安装JDK和tomcat以及遇到的误区
- Linux JDK 以及 tomcat 的安装和配置
- Linux虚拟机安装以及jdk,tomcat,mysql的安装配置
- 阿里云的linux系统下安装JDK以及tomcat
- linux jdk tomcat项目部署,常见问题
- Linux下tomcat、jdk环境 部署过程
- 如何使用Actor模型解决高并发事务呢?
- HDU 1016
- 中位数附近的2k+1个数
- 数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序
- 6+66+666+6666
- linux部署tomcat以及jdk的相关小结
- 《Scala相关文章索引(1)》
- React Native布局详细指南
- 剑指Offer系列-面试题25:二叉树中和为某一值的路径
- W3Techs: 全球网站技术调查报告
- rails数据交互(2)
- C语言小项目---注释转换
- MSP430
- 杭电 2000 ASCII码排序