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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

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

以上是关于tomcat加载war包报错:/wls/systems/bbc-kit/apps/bbc-kit.war!/com/bbc-kit/entities/DocFile.class not found且路的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 打包为war包报错:提示缺少web.xml

myeclipse打war包报错:security alert :integrity check e

jenkins部署

上传war无法显示此网页 tomcat

war包放到 Tomcat webapp下,启动Tomcat报错

war包放到 Tomcat webapp下,启动Tomcat报错