版权声明:本文为博主原创文章,转载请注明文章链接。https://blog.csdn.net/xiaoanzi123/article/details/58254318  

2017-02-27 21:01:21

本周出差去给客户配置安装linux下的tomcat和jdk,部署项目。启动tomcat时出现异常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解压即可。
====三 关于 ./
执行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"/>

 

tomcat启动编码等部署遇到问题的更多相关文章

  1. tomcat启动指定项目

    看一下server.xml,conf/localhost/,web.xml是否配置了其他的WEBAPP应用,但实际地址已经被移除,清空WORK目录试试 http://blog.163.com/mous ...

  2. Java Web开发Tomcat中三种部署项目的方法

    第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...

  3. Spring Boot:内置tomcat启动和外部tomcat部署总结

    springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...

  4. springboot学习笔记:6.内置tomcat启动和外部tomcat部署总结

    springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...

  5. tomcat启动正常,404. Eclipse没有正确部署工程项目

    http://blog.csdn.net/lynn_wgr/article/details/7751228 在eclipse中新建的Dynamic Web Project.写好代码后,选择Run on ...

  6. Struts2环境下Tomcat启动异常:Exception starting filter struts2,报了一个java.lang.ClassNotFoundException

    在写一个struts2+hibernate整合的小例子时,启动Tomcat服务器,报了一个: 严重: Exception starting filter struts2java.lang.ClassN ...

  7. Tomcat启动,不能加载项目问题。

    项目部署时遇到的一个Tomcat问题:     启动tomcat后,不能加载项目 直接启动完成 但是项目未加载 最后找到原因:  把环境变量Catalina_HOME删除掉,就能加载. tomcat启 ...

  8. 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

    unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编    制: WangYong 版权所有 内部资料注意保密 ...

  9. Tomcat启动服务报错:Unknown version string [3.1]. Default version will be used.

    用Intellij IDEA 部署Web项目,Tomcat启动后报错Unknown version string [3.1]. Default version will be used. 作者的问题出 ...

随机推荐

  1. Spring boot整合Mongodb

    最近的项目用了Mongodb,网上的用法大多都是七零八落的没有一个统一性,自己大概整理了下,项目中的相关配置就不叙述了,由于spring boot的快捷开发方式,所以spring boot项目中要使用 ...

  2. OCP认证052新加的考试题及答案整理-21

    21.Which two are true about roles? A) A role can be password-protected. B) A role can be granted to ...

  3. Layout1:Grid(补交作业)

    Layout1:Grid 这一节我们来讲解一下一个layout:gird. 首先上一段代码: <Page x:Class="Gridstudy.MainPage" xmlns ...

  4. php sapi 产生core 文件

    php sapi 产生core 文件 1) vim /usr/local/php7.1.6-debug/etc/php-fpm.conf rlimit_core = 0 改为 rlimit_core ...

  5. javascript中children,childNodes等节点属性

    1.children与childNodes children: 获取子元素节点,无兼容问题 childnNodes: IE:获取子元素节点 非IE(chrome,Firefox等):获取子节点,包括元 ...

  6. 906 AlvinZH的奇幻猜想----整数乘积(背包DP大作战O)

    906 AlvinZH的奇幻猜想----整数乘积 思路 难题.动态规划. 将数字串按字符串输入,处理起来更方便些. dp[i][j]:表示str[0~i]中插入j个乘号时的乘积最大值.状态转移方程为: ...

  7. ElasticSearch 因为磁盘空间不够引起的数据插入错误。(message [ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]])

    ES升级到624测试从Kettle插入数据的时候,经常提示如下错误 message [ClusterBlockException[blocked by: [FORBIDDEN/12/index rea ...

  8. jsoup 抓取省市区

    package com.xazhxc.htjcom.back.controller.base; import cn.hutool.core.util.StrUtil; import com.aliba ...

  9. Qt for android运行时出错 Error: Target id 'android--1' is not valid

    [提问]windows7下Qt for android运行时出错 Error: Target id 'android--1' is not valid[复制链接] 上一主题下一主题   离线yijun ...

  10. c++primer 学习笔记

    1.1 编写简单的c++程序 函数4元素:函数类型.函数名.形参表.函数体 调用GNU(UNIX) g++ prog1.cc -o prog1 //生成可执行文件prog1,UNIX下默认a.out ...