版權聲明:本文爲博主原創文章,但是你也可以隨意轉載。 https://blog.csdn.net/smartcore/article/details/79975645
又是拿到一個三方的前置應用,在使用前一篇《[昨日調試]在本地運行三方公司開發的maven項目》的方案做好依賴包的非倉庫本地化後,idea內使用mvn clean package -DskipTests,開始生成war包,一切順利。
然後開始進系統(localhost:port/login.on),輸入完用戶名、密碼,點擊登錄,然後系統跳轉到含有本文標題的錯誤頁面:
Named query not known: Employee.findByName |
因爲對hibernate使用少,再加上mvn生成表面上是成功的(war包裏的內容初看該有的都有了),所以首先感覺是hiberate的配置哪兒有問題?(非常疑惑,覺得應用裏面應該沒有少的或者錯的東西啊),就先搜搜此問題到底是因爲什麼原因,大概有以下:
1、有說是<query>在<class>裏的,請見:https://blog.csdn.net/daryl715/article/details/1518900;
2、Entity註解的引用類錯誤,請見:https://stackoverflow.com/questions/10261651/named-query-not-known-for-named-hibernate-query
有需要的同學可以參考以上,但我的問題並不是因爲以上的問題。
最終發現,是src/main/java/com/xxx/bizpro/entity下面的xml文件集沒有包含在生成的war包裏,真是意外,pom.xml完成沒有關於<resource>的配置啊,你們是怎麼打包到war裏的[捂臉]。
隨即使用通用方案在pom.xml裏新增下面的片段:
<build>
<!-- 其他配置 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>com/xxx/bizpro/entity/**/*.xml</include>
</includes>
<resource>
</resources>
</build>
結束。