IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法
出處:https://www.cnblogs.com/SunSpring
eclipse下面創(chuàng)建的Maven項(xiàng)目,使用mybatis。eclipse里面能正常啟動(dòng),在idea中一直卡在maybatis 加載位置。
1、首先是不報(bào)錯(cuò)也沒反應(yīng)。這個(gè)時(shí)候需要我們重寫SqlSessionFactoryBean 讓錯(cuò)誤顯示出來。
public class BeanFactory extends SqlSessionFactoryBean { @Override protected SqlSessionFactory buildSqlSessionFactory() throws IOException { try { return super.buildSqlSessionFactory(); } catch (NestedIOException e) { e.printStackTrace(); throw new NestedIOException("Failed to parse mapping resource:", e.getCause()); } } }
2、修改applicationContext.xml 中的mybatis配置。
<bean id="sqlSessionFactory" class="com.util.BeanFactory"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean>
這樣就能打印出mybatis加載過程的錯(cuò)誤。
重新啟動(dòng)項(xiàng)目調(diào)試,報(bào)錯(cuò)提示找不到mybatis-config.xml 中配置的**mapper.xml文件。打開編譯的target文件找到對(duì)應(yīng)的mapper.xml目錄發(fā)現(xiàn)果然沒有xml文件,我們知道m(xù)aven項(xiàng)目的標(biāo)準(zhǔn)項(xiàng)目結(jié)構(gòu)如下:
(1)src/main/java:存放主代碼
(2)src/main/resources:存放項(xiàng)目的資源文件,如:Spring 的核心配置文件
(3)src/test/java:存放測試代碼
(4)src/test/resources:存放測試的資源文件
(5)target:目標(biāo)文件輸出位置,如:編譯后的 .class 文件
(6)pom.xml:Maven 項(xiàng)目的核心配置文件
(7)src/main/webapp :它是 Web 項(xiàng)目的主目錄,用于存放 .jsp、.js、.css 等文件
我們習(xí)慣把mybatis的mapper.xml文件Mapper.java放一起,都在src/main/java下面,這樣maven打包時(shí),如果沒有設(shè)置為資源文件則maven不會(huì)打包,maven認(rèn)為src/main/java只是java的源代碼路徑??梢钥吹絠dea里面Modules,只有src/test/resources是ResourceFolders。
解決辦法:修改pom.xml,還有其他方法自己可以看下。
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
然后再重新編譯項(xiàng)目就行了。
特別提醒:idea有時(shí)候修改了pom.xml文件沒有重新加載,重新編譯項(xiàng)目的時(shí)候還是不行。這個(gè)時(shí)候我們要再maven那里點(diǎn)擊下“Reimport” 按鈕,重新加載下。
我就是這個(gè)原因搞了很久都沒找到問題。
以上就是IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法的詳細(xì)內(nèi)容,更多關(guān)于IDEA 將xml編譯進(jìn)classes的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mybatis-plus多表分頁查詢最佳實(shí)現(xiàn)方法(非常簡單)
這篇文章主要給大家介紹了關(guān)于mybatis-plus多表分頁查詢最佳實(shí)現(xiàn)方法,文中介紹的方法非常簡單,MyBatis-Plus中分頁查詢是比較方便的,這個(gè)功能在網(wǎng)站中也是非常常用的,這方面的知識(shí)點(diǎn)是必備的知識(shí)點(diǎn),需要的朋友可以參考下2023-08-08Java如何使用遞歸查詢多級(jí)樹形結(jié)構(gòu)數(shù)據(jù)(多級(jí)菜單)
這篇文章主要介紹了Java如何使用遞歸查詢多級(jí)樹形結(jié)構(gòu)數(shù)據(jù)(多級(jí)菜單),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離
本文通過實(shí)例代碼給大家介紹了spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離,需要的朋友可以參考下2017-08-08MyBatis-Plus實(shí)現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)
本文主要介紹了MyBatis-Plus實(shí)現(xiàn)2種分頁方法,主要包括QueryWrapper查詢分頁和SQL查詢分頁,具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08盤點(diǎn)Java中延時(shí)任務(wù)的多種實(shí)現(xiàn)方式
當(dāng)需要一個(gè)定時(shí)發(fā)布系統(tǒng)通告的功能,如何實(shí)現(xiàn)??當(dāng)支付超時(shí),訂單自動(dòng)取消,如何實(shí)現(xiàn)?其實(shí)這些問題本質(zhì)都是延時(shí)任務(wù)的實(shí)現(xiàn),本文為大家盤點(diǎn)了多種常見的延時(shí)任務(wù)實(shí)現(xiàn)方法,希望對(duì)大家有所幫助2022-12-12Spring負(fù)載均衡LoadBalancer使用詳解
這篇文章主要介紹了Spring負(fù)載均衡LoadBalancer使用詳解,Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客戶端負(fù)載均衡器, 用來替代Ribbon,Spring官方提供了兩種客戶端都可以使用loadbalancer,需要的朋友可以參考下2023-11-11Spring Boot security 默認(rèn)攔截靜態(tài)資源的解決方法
這篇文章主要介紹了Spring Boot security 默認(rèn)攔截靜態(tài)資源,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03