嘗試用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包報錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!