tomcat加载war包报错:/wls/systems/bbc-kit/apps/bbc-kit.war!/com/bbc-kit/entities/DocFile.class not found且路径中多一个!号

尝试用springmvc,mybatis,mysql做个工具平台。

在本地mac笔记本上运行正常,但把包放置到服务器上,启动tomcat就报错。类找不到了。

文件目录:

实现需求:上传文档并记录在数据库中。自建了DocFile类。创建对应的mapper文件写sql语句。

mapper.xml中namespace是指向DocFileDao。

<mapper namespace="com.bbc_kit.operation.dao.DocFileDao">
<!-- namespace 需要和dao层的"包名+接口名"一致 -->
    <resultMap type="com.bbc_kit.operation.entities.DocFile" id="DocFileResult">
        <id property="docFileId" column="docFileId" jdbcType="VARCHAR"/>
        <result property="docFileType" column="docFileType" jdbcType="VARCHAR"/>
        <result property="docFileName" column="docFileName" jdbcType="VARCHAR"/>
        <result property="docFilePath" column="docFilePath" jdbcType="VARCHAR"/>
        <result property="created_by" column="created_by" jdbcType="VARCHAR"/>
        <result property="date_created" column="date_created" jdbcType="DATE"/>
        <result property="updated_by" column="updated_by" jdbcType="VARCHAR"/>
        <result property="date_updated" column="date_updated" jdbcType="DATE"/>
        <result property="valiable" column="valiable" jdbcType="VARCHAR"/>
    </resultMap>

    <select id="queryOptDocFile" parameterType="HashMap" resultMap="DocFileResult">
        select * from t_docfile where docFileType=#{docFileType}  and valiable=‘Y‘
    </select>

    <update id="updateInvalidDocFile" parameterType="String" >
        update t_docfile set valiable=‘N‘ where docFileId=#{docFileId}
    </update>

    <select id="getDocFile" parameterType="String" resultType="DocFile">
        select * from t_docfile where  docFileId=#{docFileId}
    </select>

但启动后就莫名其妙报找不到这个DocFile类。且提示的路径中war包后面多了一个感叹号。

后来发现是自己在mapper文件的类引用上大意了,没有把完整的包路径加上

<select id="getDocFile" parameterType="String" resultType="DocFile">
        select * from t_docfile where  docFileId=#{docFileId}
    </select>

改为

<select id="getDocFile" parameterType="String" resultType="com.bbc_kit.operation.entities.DocFile">
        select * from t_docfile where  docFileId=#{docFileId}
    </select>

再打包上传重启就正常了。本地环境不报错是环境内部的一些配置混乱了,没有显现出来。

时间: 2024-10-29 19:06:31

tomcat加载war包报错:/wls/systems/bbc-kit/apps/bbc-kit.war!/com/bbc-kit/entities/DocFile.class not found且路径中多一个!号的相关文章

javaEE:day2-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序

servlet生命周期 生命周期简介: servlet在服务器第一次被请求的时候new出来,并初始化(即init())再调用service方法.这个实在服务器中new出来,然后用HashMap加的,与客户端无关.客户端之后访问只调用这个servlet的service方法. 具体分为4步: 1 构造方法 :服务器在被客户端第一次请求的时候运行 仅在服务器中运行一次 2 init方法:客户端第一次访问服务器的时候在服务器中进行初始化 仅一次.并且可以通过config参数在 web.xml中通过(ke

Echarts 明明和官方文档配置一致,图表加载却是报错:Error in mounted hook: &quot;TypeError: Cannot read property &#39;get&#39; of undefined&quot;,重新npm run dev,问题解决。

在搞Echarts的关系图graph,一开始正常显示,如下: 然而就在本人修改了option里的curveness = 0.2,ctrl+f5强制刷新页面后,图表加载报错:Error in mounted hook: "TypeError: Cannot read property 'get' of undefined" 一开始以为是因为curveness的修改而报错,遂回退修改,然而问题依旧. 于是乎,研究一下报错的地方,就是“axisModel = undefined”这个鬼东西报

worker中加载本地文件报错的解决方案

如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: Error #2148 不能访问本地资源. 网上给出的方案几乎都不能有效的解决问题, 之所以说几乎, 是因为如果以后读者搜到这篇文章时, 有效的解决方案就在这里. 即在本地架设一个http资源服务器, 加载的时候不要用本地地址作为加载路径,而是使用http 地址作为加载地址即可正确加载.

MyEclipse10.1导出war包报错问题

下午在Myeclipse里面,本来想将一个项目导成WAR包文件,但是当点击J2EE下面的War之后,却报出了一个错误,一时懵了,从来没遇到过. 之后上百度查相关的解决办法,好多回答都是说,我的Myeclipse安装的时候有问题,或者是破解的不完全,建议重装Myeclipse,但是我不是很想重装,觉得重装挺麻烦的,耽误了工作,而且万一卸载的不够彻底,不知道又会不会出现什么新问题.之后在csdn的资源栏目里面看到了这个方法,只需替换一个插件jar包就可以解决了,所以决定记录下来: 直接将这个jar插

(转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性&quot;Length&quot;的值,对象为null或未定义

结贴说明: 很感谢sp1234等人的热心帮忙和提醒,现在我主要说明下问题所在: 首先我在独立的js文件中,直接把测试数据loaddata进去datagrid是没有问题的.var kk = {"total":2,"rows":[{"INSTANCE_ID":"BI00000011","BUSINESS_NAME":"专项检查文档资料报送","INSTANCE_STATUS&quo

pytorch 加载mnist数据集报错not gzip file

利用pytorch加载mnist数据集的代码如下 import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader train_data = torchvision.datasets.MNIST( root='./mnist/', train=True, # this is training data transform=torchvision.transf

Spring集成JPA配置懒加载两个报错解决办法

一:报错no session 因为entitymanager对象在事物提交后就关闭了 报错的 no session相当于sql的session 解决办法:解决办法 在web.xmL配置一个过滤器 使其在这个session中的manager在结束后再关闭open <!--配置openmanager--> <filter> <filter-name>openEntity</filter-name> <filter-class>org.springfr

Nginx的安装,以及加载php和报错排除

Mac上安装nginx,通过homebrew包管理工具,类似Linux的yum. 1.homebrew的安装: 地址:http://brew.sh/ 通过下面的命令:  ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.安转nginx: 安转好homebrew后:输入brew install nginx,安转nginx. #打开 nginx   sudo

关于apache服务器加载so的报错

早上突然发现我的虚拟机上的WEB应用访问不了了,后台检查httpd服务,无法启动,出现一行提示: ①starting httpd: httpd: Syntax error on line 163 of /etc/httpd/conf/httpd.conf: ②Cannot load /etc/httpd/modules/mod_ldap.so into server: ③/etc/httpd/modules/mod_ldap.so: undefined symbol: apr_ldap_ssl_