tomcat启动时有时候会报一些警告,项目有时候也是可以正常运行。但是警告出现还是要找到原因消灭掉,两个典型的警告解决办法如下:

1.【inside the host appBase has been specified, and will be ignored】

解决办法:tomcat,Servers窗口,右击open,打开服务器窗口后,在Server Options下面的 Serve modules without publishing和Publish modual contexts to separat XML files勾上,一切正常了。

2.【did not find a matching property.】

解决办法:

当你用Eclipse运行web项目的时候,你就会看到控制台出现:
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:firstProject' did not find a matching property.
这样的字样,说的是server.xml的Service标签里的Engine标签里的Host标签里的Context标签配置了一个'source'属性,属性值是'org.eclipse.jst.jee.server:firstProject'.
但问题是Context标签是不支持source这个属性的,所以跳出了警告,所以大家也发现的是,尽管有警告,但是大部分人的程序是依然可以运行没有问题的,但少部分人的不能够运行。
也许你已经在网上查到很多像这样的问题,而且也给出了解决办法,但是你照着解决的方法去做了,警告依然存在!
那现在你就可以跟着我的步骤来做了:

我先说一下网上别人所说的步骤,埋个伏笔
1.双击Servers里的Tomcat v7.0 at localhost

2.然后跳出个界面:

看到没,在Server Options选项里有个Publish module contexts to separate XML files的选项,到这里我们也一样把勾勾上,不过问题不是这样就一定解决了,我说过有的朋友这样做了,问题依然没有解决,把勾勾上以后记得保存,如果警告依然存在的朋友们跟着我继续往下看。

3.

大家仔细对比下你自己的和我图片上的,你会发现你默认的选项应该是Use workspace metadata这个选项,只不过是笔者我改为了tomcat的安装路径罢了,因为Use workspace的路径文件夹不方便后面的讲解中要找的文件,所以笔者使用第2个tomcat安装目录来操作,而Deploy path:你如果没有改过的话,应该是叫wtpwebapps,因为在写文章之前,我已经改掉了也不清楚是不是这个名字了,但确定的一点是,它肯定不是webapps的,所以此处读者根据自己的Deploy path的值进行下面的操作。
好了准备工作差不多了,现在是重点来了,为什么好多人做了1.2步操作以后就好了而你自己的没好呢?
原因是,在做1 2 步操作之前你们已经运行过程序,而运行以后程序就会在tomcat文件夹下多了一个backup文件夹

里面的目录结构如图:

有没有很熟悉的感觉,没错这就是从tomcat目录里conf文件夹下拷贝过来的文件
接下来直接说操作好了:
4.
删除掉刚才的backup文件夹[backup所在位置根据第3步所说的,因为笔者使用的时tomcat安装目录所以就在目录下就直接发现了,但如果你用的是Use workspace metadata这个选项的话,你就在\workspace\.metadata\.plugins\org.eclipse.wst.server.core路径下可以看到里面有很多的文件,Eclipse就把项目发布到了这里,里面的目录结构和tomcat里面的差不多,总之把\workspace\.metadata\.plugins\org.eclipse.wst.server.core里面的文件全删除了就可以了]
5.
找到tomcat目录里的conf目录里的Catalina目录里有个localhost文件夹,把文件夹里面的文件全删除掉。
6.
此处告诉大家3.4.5步骤纯属告诉你们Eclipse发布的一个细节,删除上面的文件其实不用那么麻烦:
在Servers下Tomcat v7.0 at localhost里,首先右键-->移除里面已经添加的所有工程,然后右键-->Clean清空项目虚拟目录里的文件,然后重新运行你们的程序就可以了。

注意:如果有人想和我一样在第3步server locations里修改项目发布目录的话,只要发布过一次项目你会发现,server locations里面的选项是灰色的,不可以改,怎么办呢,这就需要你照着第6步里面的移除项目,清空文件,然后你就惊奇的发现,server locations可以修改了

【明哥报错簿】之【inside the host appBase has been specified, and will be ignored】和【did not find a matching property.】的更多相关文章

  1. 【明哥报错簿】之【HTTP Status 500 - Servlet.init() for servlet mvc-dispatcher threw exception】

    报错:java.lang.NoClassDefFoundError: /factory/config/EmbeddedValueResolver spring或者jdk的问题,解决办法:spring3 ...

  2. 【明哥报错簿】之【解决eclipse项目小红叉】

    解决方案: 0.如果是jdk版本不一致,直接右击项目名称,选择maven里面的update project.原因一般是maven的pom.xml里面设置的编译插件org.apache.maven.pl ...

  3. 【明哥报错簿】之json转换报错---net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXXDO

    简单的json和bean转换直接用: public static void main(String[] args) { String s = "{'request': [{'orderCod ...

  4. 【明哥报错簿】之 mybatis异常invalid comparison: java.util.Date and java.lang.String

    背景:数据库为postgresql,表字段属性为timestamp格式 原因是mybatis 3.3.0中对于时间参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串''进行对比判断则会引 ...

  5. 【明哥报错簿】可以访问jsp但是访问不到controller

    此工程wms-web-enterprise启动之后,jsp页面可以访问,但是进不了controller.后来发现wms-consumer无法打包编译,在仓库m2里面发现此consumer.jar包为完 ...

  6. 【明哥报错簿】tomcat 安装时出现 Failed to install Tomcat7 service

    安装tomcat时提示 Failed to install Tomcat7 service 应该是卸载时直接删除目录导致的. Failed to install Tomcat7 service Che ...

  7. 【明哥报错簿】之【 "javax.servlet.http.HttpServlet" was not found on the Java Build Path || HttpServletRequest/HttpServletResponse cannot be resolved to a type】

    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path login ...

  8. 修改ubuntu DNS的步骤/wget url报错: unable to resolve host address的解决方法

    wget url 报错:unable to resolve host address ‘url’,显然是无法解析主机地址,这就能看出是DNS解析的问题.解决办法就是配置可用的dns 一般是修改成为谷歌 ...

  9. 关于github报错:ssh: connect to host github.com port 22: Connection timed outfatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.

    当执行git命令如:git clone.git pull等等 出现报错:ssh: connect to host github.com port 22: Connection timed outfat ...

随机推荐

  1. day 2 异常传递 ,抛出

    1.异常的传递 def test1(): print("---test1--") print(num) print('---test1 over---') def test2(): ...

  2. PHPStrom 里修改Emmet对php的自动扩展

    PHPStrom 7.1.3 Emmet 想必大家都比较清楚了.Emmet有个特点,对于匹配不到的符号,仍然会自动扩展为标签的形式,比如我输入aaaa,然后按tab,会自动扩展为<aaaa> ...

  3. pandaboard es 制作SD启动卡OMAP4460

    1. 本次使用的是chipsee的板子,带屏幕的,先把资料传到Ubuntu的共享目录下 2. 进入共享目录 /mnt/hgfs/ubuntu_share/pandboard_es_linux# 3. ...

  4. bzoj1861 书架

    bzoj1861 书架 原题链接 神题... 先吐槽洛谷的样例 10 10 1 3 2 7 5 8 10 4 9 6 Query 3 Top 5 Ask 6 Bottom 3 Ask 3 Top 6 ...

  5. 微服务介绍及Asp.net Core实战项目系列之微服务介绍

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 一.微服务选型 在做微服务架构的技术选型的时候,我们以“无侵入”和“社区活跃”为主要的考量点,将来升级为原子服务架构.量子服务架构 ...

  6. Connect C# to MySQL

    Connect C# to MySQL using MySQL Connector/Net, Insert, Update, Select, Delete example, Backup and re ...

  7. JMeter:全面的乱码解决方案【转】

    本文是转自https://www.cnblogs.com/mawenqiangios/p/7918583.html 感谢分享者   中文乱码一直都是比较让人棘手的问题,我们在使用Jmeter的过程中, ...

  8. Spring学习(3):IOC基础(转载)

    一. IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...

  9. Select 、Poll 和 Epoll

    作用 Epoll 和 Select 的作用都是为了多I/O同步复用的问题,利用Epoll.Poll或Select函数指定内核监听多个I/O的读.写.异常事件,避免每一个I/O都指定一个处理线程,导致开 ...

  10. 三点须知:当我们在开发过程中需要用到分布式缓存Redis的时候

    当我们在开发过程中需要用到分布式缓存Redis的时候,我们首先要明白缓存在系统中用来做什么? 1. 少量数据存储,高速读写访问.通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的 ...