解決maven打包時漏掉src/main/java資源裡的xml的問題
在整合Spring + Mybatis框架的時候,自動掃描配置都已經配置好了。
配置如下:
<context:component-scan base-package="com.yd"/>
<!-- 引入資料庫屬性檔案 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath:config.properties" />
<!-- spring和MyBatis完美整合,不需要mybatis的配置對映檔案 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:/com/yd/pushcloud/dao/*.xml"/>
</bean>
<!-- DAO介面所在包名,Spring會自動查詢其下的類 ,包下的類需要使用@MapperScan註解,否則容器注入會失敗 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" >
<property name="basePackage" value="com.yd.pushcloud.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
但是在maven install的時候會報錯:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.aheizi.dao.UserMapper ...
顯示繫結錯誤,分析可知應該是在UserMapper介面和SQL的隱射檔案沒有結合。
第一時間檢查了mapper的namespace屬性,確認沒有錯。
後來查看了target/classes/../mapping並不存在,也就是說mapper.xml檔案並沒有在編譯的時候放進classes中。
這就尷尬了,一開始我以為是我eclipse編譯有問題,於是每次編譯的時候,我都先maven clean一下,然後選擇eclipse的project的clean一下我的專案,讓他重新編譯,最後在maven install一下,xml檔案才會編譯進去,但是如果eclipse的clean時間太短也會導致xml沒編譯進去,這讓我十分苦惱。
後來通過檢視maven打包機制,才發現maven預設只把src/main/resources路徑下的資原始檔打包,src/main/java目錄下只編譯Java檔案,問題就迎刃而解了。
解決辦法有兩種:
1.在pom.xml下的build節點下加入以下配置
<!-- 填補maven打包的坑,使maven編譯時包含mybatis的sql對映xml檔案 -->
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
意思就是把src/main/java目錄也加入要打包的資源路徑。
2.把mybatis的sqlmapping配置檔案放到src/main/resources目錄下,但是這樣會顯得很醜。
建議使用第一種方法!
相關推薦
解決maven打包時漏掉src/main/java資源裡的xml的問題
在整合Spring + Mybatis框架的時候,自動掃描配置都已經配置好了。 配置如下: <context:component-scan base-package="com.yd"/> <!-- 引入資料庫屬性檔案 --> &
maven打包war漏掉src/main/java下的xml等資原始檔解決方式
給前端同學寫了個簡單的介面,給他打了個war包,滿以為簡單的事情,卻總是訪問不成功,後來檢視日誌,發現無法找到mybatis的xml檔案,查看了一下war,果然沒有把mybatis檔案打包進去,百度了一下,發現是pom.xml配置少了打包src/main/java的資原始
maven 打包時,src/main/java目錄下的xml等資原始檔沒有打包進去的問題
工作中,給同事除錯maven的自動化打包時,發現src/main/java中一些關於mybatis的xml都沒有打包進去,導致war包啟動不起來,在此記錄一下,解決方法。 預設maven在src/main/java中只編譯java檔案,其他的檔案會被忽略,但可以通過配置po
Idea建立的maven專案編譯漏掉src/main/java下的xml配置檔案
報錯資訊: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 解決方案: 第一種:在pom.xml中新增如下程式碼: <resources>
Java maven項目編譯漏掉src/main/java下的xml配置文件
XML 但是 maven項目 filter resources direct pri bsp 配置文件 Java maven項目編譯漏掉src/main/java下的xml配置文件 在整合Spring + Mybatis框架的時候,自動掃描配置都已經配置好了。 但是xm
新建maven專案後,沒有src/main/java和src/test/java目錄的解決方法
網上找了挺多的方法的,自己覺得這個方法最簡單便捷 新建Maven專案後,沒有出現本應該有的src/main/java和src/test/java目錄(是不是eclips建立maven專案都是這樣?) 選中專案,右鍵點選Properties,選中Java Build P
解決Eclipse建立Maven專案後無src/main/java資原始檔夾的辦法
建立好一個Maven專案後,如果Java Resources資原始檔下沒有src/main/java資料夾,並且在手動建立這個檔案時提示“已存在檔案”。這說明,在這個專案配置中已經有了src/main/java這個資料夾。 解決方法: 在專案上右鍵選擇pro
maven web工程缺少 src/main/java 和 src/test/java 資源文件夾的方法
ava body figure pos web工程 點擊 build 技術分享 maven 右鍵打開:build path -> configure build path... 在彈出的界面,選擇: 編輯後: 點擊finish,即可完成 maven we
新建maven專案時沒有出現src/main/java和src/test/java目錄的解決方法
新建Maven專案建成後本應該有的src/main/java和src/test/java目錄並沒有出現: 發現
maven 搭新建成之後 無法創建 src/main/java 目錄解決
sin 報錯 miss nbsp maven項目 項目創建 選中 打開 http maven項目創建後 創建 src/main/java 和 src/main/test 會報錯,目錄已存在 打開build path 界面 src/main/jav
Maven打包時出現“Show Console View”錯誤彈出框,錯誤詳情為“An internal error has occurred. java.lang.NullPointerException”的解決方法
開開 exceptio 技術 point org ali ava src cor 今天為項目打包時出現了下面的錯誤提示: 打開Details裏面寫的是“An internal error has occurred. java.lang.NullPointerExcepti
MAVEN打包時沒有將src/main/cache資料夾打到到WAR包中
某專案中ehcache配置檔案寫在src/main/cache中,結果用maven打包時,得到的WAR包裡面沒有這個資料夾 因為maven打包時預設只打包src/main/java中的檔案和src/main/resources中的檔案,如果要將src/main/cache資
Java ee建立Maven專案時,路徑下沒有src/main/java等路徑,只有src/main/resource
最近建立新Maven專案時發現有時候路徑下只有src/main/resource的路徑,缺失了重要的src/main/java 就像這樣,雖然自己可以再新建資料夾改名,但總感覺這樣不太好 網上查詢資料發現有兩種方法,第二種是後來發現的一步操作更簡單 先說第一種方法 1.右鍵單擊
maven打包時出現【java source 1.3中不支援泛型 請使用 -source 5 或更高版本以啟用泛型】錯誤時的解決方法
出現【java source 1.3中不支援泛型 請使用 -source 5 或更高版本以啟用泛型】問題的原因是因為jdk版本使用不對,maven編譯打包時找到的是低版本的jdk,可以在總pom中新增以下語句顯示指明使用版本為1.6的jdk即可解決這個問題 <buil
maven build src/main/java目錄下的xml等資原始檔不被打包
解決方法: pom.xml設定resource <resources> <resource> <directory>src/main/resources</directory> <includes
如何解決maven搭建專案的時候,src/main/java無法建立的問題,提示資訊The folder is already a source folder.
原因:maven自己引的jdk包不對,需要重新引包 操作方式: 1、在專案上右擊(或用快捷鍵ALT+ENTER),開啟properties-->java builder path-->remove掉原來的jdk包,引入自己安裝的jdk包即可
maven工程src/main/java目錄無法創建問題
知識庫 word tle prop works lan rep lac title 在項目上右鍵選擇properties,然後點擊Java build path,在Librarys下,編輯JRE System Library,選擇 workspace default jre
新建Maven項目建成後本應該有的src/main/java和src/test/java目錄並沒有出現:
原本 pat alter rar 分享圖片 execution tps 新建 eclips 轉自:http://www.cnblogs.com/dong-dong-dong/p/9565466.html 新建Maven項目建成後本應該有的src/main/java和src/
安裝了JDK1.8後,配置了環境變數,但是Maven打包時,依然讀取的是JDK1.6的問題解決辦法
問題描述:使用maven對springboot打包時,報瞭如下錯誤, 錯誤描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compil
Maven打包時提示No runnable methods的解決方案
我的一個spring專案,在使用 mvn package 命令打包的時候,出現下列錯誤: 但是在IDE中執行單元測試的時候,是全部都能通過的。經過排查,發現問題出在主函式的測試類上。 在我的專案中,主函式的測試類用來配置spring測試環境,其餘的測試類繼承這個類來執