maven搭建ssm框架問題總結(jié)

1.Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project jcseg-core: Compilation failure

[ No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

解決:把 JRE 路徑從 JRE 改成 JDK:

Window → Preferences → 對(duì)話框中的左側(cè)選擇Java → Installed JREs → 對(duì)話框右側(cè)點(diǎn)擊 Add 按鈕 → Standard VM → next → JRE home 選擇 JDK 的安裝路徑 → Finish → 選中 jdk 的復(fù)選框 → 點(diǎn)擊 OK 按鈕

按照《Maven實(shí)戰(zhàn)》的內(nèi)容努溃,建議你不要使用 eclipse 內(nèi)嵌的 Maven。而是給 eclipse 配置電腦上安裝的 Maven。這樣保證版本一致彪标,可以避免一些問題堕扶。

2.Caused by: java.net.BindException: Address already in use: JVM_Bind :8080

解決:端口被占用扁耐,可能運(yùn)行兩次tomcat

3.嚴(yán)重: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException:

嚴(yán)重: Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 1 in the generated java file

The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

解決:項(xiàng)目正常啟動(dòng),但是無法在瀏覽器中打開,報(bào)的錯(cuò)是 org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException用踩,是tomcat:run的問題

在web項(xiàng)目的pom文件中增加tomcat7配置

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

9999

UTF-8

啟動(dòng)tomcat插件,不過這次的命令不是tomcat:run 而是tomcat7:run 因?yàn)榍罢卟粫?huì)調(diào)用tomcat7;

4.ssm整合時(shí)出現(xiàn)

java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解決:配置pom.xml時(shí)使用的是MySQL最新jar包忙迁,原來新版的驅(qū)動(dòng)配置有些變化:


1. url連接必須設(shè)置時(shí)區(qū)

### MySQL Connector/J 5.x (舊版連接)

#jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8

### MySQL Connector/J 6.x (新版連接)

jdbc.url=jdbc:mysql:///test?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false

說明: 新版驅(qū)動(dòng)url默認(rèn)地址為127.0.0.1:3306脐彩,所以訪問本機(jī)mysql數(shù)據(jù)庫(kù)地址可以用 /// 表示。


2. 新的驅(qū)動(dòng)類位置有了變化(不影響使用姊扔,但會(huì)報(bào)警告)

### MySQL Connector/J 5.x (舊版驅(qū)動(dòng))

#jdbc.driver_class=com.mysql.jdbc.Driver

### MySQL Connector/J 6.x (新版驅(qū)動(dòng))

jdbc.driver_class=com.mysql.cj.jdbc.Driver


5.org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'did' in 'class com.ssm.entity.User'

解決:是因?yàn)樵趗ser實(shí)體類中封裝dept屬性時(shí)惠奸,在mapper.xml中的增加insert數(shù)據(jù)庫(kù)sql中寫的是did,應(yīng)該寫成dept.did


6.Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.taobao.mapper.ProductMapper com.taobao.service.ProductServiceImpl.productMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.taobao.mapper.ProductMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

解決:applicationContex.xml中沒有正確配置MapperScannerConfigurer


7.[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mmall_learning: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot resolve classpath entry: /Users/yujie/Workspaces/IdeaProjects/mmall_learing/lib/mysql-connector-java-5.1.6-bin.jar -> [Help 1]

解決:原因是datasource.properties中的db.driverLocation=/Users/Administrator/workspace/yhMall/tools/mysql-connector-java-5.1.6-bin.jar

路徑錯(cuò)誤恰梢,找不到mysqljar包佛南,更改路徑即可


8.錯(cuò)誤:Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mmall.dao.OrderMapper.BaseResultMap

Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mmall.dao.OrderMapper.BaseResultMap

解決:原因是我在使用mybatis逆向工程時(shí),重復(fù)使用了兩次嵌言,結(jié)果在對(duì)應(yīng)的映射文件中重復(fù)生成了兩份內(nèi)容嗅回,所有 Result Maps collection already contains value錯(cuò)誤


9.問題:Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer

解決:原因:在我的pom.xml文件中javax.servlet-api.jar包發(fā)生沖突。當(dāng)程序運(yùn)行時(shí)與tomcat中的jar包沖突了摧茴,只需要它在測(cè)試绵载、編譯階段有用

可以限制作用范圍

10.問題:Caused by: org.apache.catalina.LifecycleException: A child container failed during start

在pom.xml引入的servlet-api依賴時(shí),需要加入provided這個(gè)配置苛白,意思是這個(gè)servlet-api的依賴包只在編譯和測(cè)試時(shí)使用而不在運(yùn)行時(shí)使用

11.Caused by: java.lang.UnsupportedOperationException

解決:原因是我的namespace中的select返回類型 resultType是List,應(yīng)該是resultType返回的是集合中的元素類型娃豹,而不是集合本身

12.插入的時(shí)候,userMapper.xml如果使用的是values(#{id},#{name},#{age},#{sex}),不能加雙引號(hào)购裙。

如果使用的是values(${id},"${name}","${age}","${sex}")懂版,需要加雙引號(hào)

13.錯(cuò)誤:Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mmall.dao.OrderMapper.BaseResultMap

Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mmall.dao.OrderMapper.BaseResultMap

解決:原因是我在使用mybatis逆向工程時(shí),重復(fù)使用了兩次躏率,結(jié)果在對(duì)應(yīng)的映射文件中重復(fù)生成了兩份內(nèi)容躯畴,所有 Result Maps collection already contains value錯(cuò)誤

14.問題:Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer

解決:原因:在我的pom.xml文件中javax.servlet-api.jar包發(fā)生沖突民鼓。當(dāng)程序運(yùn)行時(shí)與tomcat中的jar包沖突了,只需要它在測(cè)試私股、編譯階段有用

可以限制作用范圍

15.問題:java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException

解決:必須引入logback-classic-0.9.24.jar/logback-core-0.9.24.jar這兩個(gè)jar包摹察,切版本要一致

16.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.lang.String] to required type [org.apache.ibatis.session.SqlSessionFactory] for property 'sqlSessionFactory'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.apache.ibatis.session.SqlSessionFactory] for property 'sqlSessionFactory': no matching editors or conversion strategy found

Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.lang.String] to required type [org.apache.ibatis.session.SqlSessionFactory] for property 'sqlSessionFactory'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.apache.ibatis.session.SqlSessionFactory] for property 'sqlSessionFactory': no matching editors or conversion strategy found

Caused by: java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [org.apache.ibatis.session.SqlSessionFactory] for property 'sqlSessionFactory': no matching editors or conversion strategy found

原因可能如下:1)@RequestMapping(value="/userlogin",method=RequestMethod.POST)

2)中property name="sqlSessionFactoryBeanName"

17..org.apache.ibatis.executor.ExecutorException:A query was run and no Result Maps were found for the Mapped Statement 'com.blog.mapper.BlogMapper.findAllBlog'. It's likely that neither a Result Type nor a Result Map was specified.

解決:仔細(xì)查看mybatis的配置文件,發(fā)現(xiàn)遺漏一個(gè)屬性:resultType

報(bào)錯(cuò)的配置是:

正確的配置應(yīng)該是

最后總結(jié)下倡鲸,就是mybatis中的所有查詢,都必須返回resultType或者resultMap的值黄娘,否則就會(huì)報(bào)如上錯(cuò)誤的峭状。

18.java.lang.NullPointerException

at com.blog.service.impl.BlogServiceImpl.findAllBlog(BlogServiceImpl.java:31)

at com.blog.controller.BlogController.findAllBlog(BlogController.java:27)

解決:空指針異常,可能是依賴關(guān)系沒有確定逼争,看看屬性上是否添加@Autowired

19.java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens

嚴(yán)重: Servlet.service() for servlet [springmvc] in context with path [/blog] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]] with root cause

org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]

解決: 查詢中參數(shù)沒有指定优床,比如://根據(jù)用戶名和密碼查詢 User find(String username,String password)應(yīng)寫成//根據(jù)用戶名和密碼查詢

User find(@Param("username")String username,@Param("password")String password);

20.java.lang.NoSuchMethodException: com.opensymphony.xwork2.ActionSupport.login()

解決:applicationContext.xml中的依賴關(guān)系沒有注入

21.Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required

解決:applicationContext.xml中的依賴關(guān)系dao中沒有主人sessionFactory

22.Caused by: Action class [userAction] not found - action?

解決:其實(shí)是缺少包struts2-sping-plugin 2.0.1.jar

23.使用c3p0數(shù)據(jù)源時(shí),下邊的數(shù)據(jù)庫(kù)屬性分別是:driverClass誓焦,jdbcUrl胆敞,user,password

使用springjdbc數(shù)據(jù)源時(shí)杂伟,下邊的數(shù)據(jù)庫(kù)屬性分別是:driverClassName移层,url,username赫粥,password

24.Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'dataSource' of bean class [org.mybatis.spring.transaction.SpringManagedTransactionFactory]: Bean property 'dataSource' is not writable or has an invalid setter method. Do

原因:<property name="dataSource">應(yīng)該駝峰命名观话,結(jié)果直接復(fù)制粘貼成小寫了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市越平,隨后出現(xiàn)的幾起案子频蛔,更是在濱河造成了極大的恐慌,老刑警劉巖秦叛,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晦溪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挣跋,警方通過查閱死者的電腦和手機(jī)三圆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浆劲,“玉大人嫌术,你說我怎么就攤上這事∨平瑁” “怎么了度气?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)膨报。 經(jīng)常有香客問我磷籍,道長(zhǎng)适荣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任院领,我火速辦了婚禮弛矛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘比然。我一直安慰自己丈氓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布强法。 她就那樣靜靜地躺著万俗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饮怯。 梳的紋絲不亂的頭發(fā)上闰歪,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音蓖墅,去河邊找鬼库倘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛论矾,可吹牛的內(nèi)容都是我干的教翩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拇囊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼迂曲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寥袭,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤路捧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后传黄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杰扫,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年膘掰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了章姓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡识埋,死狀恐怖凡伊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窒舟,我是刑警寧澤系忙,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站惠豺,受9級(jí)特大地震影響银还,放射性物質(zhì)發(fā)生泄漏风宁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一蛹疯、第九天 我趴在偏房一處隱蔽的房頂上張望戒财。 院中可真熱鬧,春花似錦捺弦、人聲如沸饮寞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骂际。三九已至,卻和暖如春冈欢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盈简。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工凑耻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柠贤。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓香浩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親臼勉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子邻吭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL宴霸、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,520評(píng)論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理囱晴,服務(wù)發(fā)現(xiàn),斷路器瓢谢,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 作者:鄧姿 先生告訴我畸写,他在吐魯番有了親 戚,一個(gè)叫艾木如拉的七歲小男孩氓扛,我 的腦海里立刻勾畫出一個(gè)戴著閃閃發(fā) 光...
    忄and怡閱讀 286評(píng)論 0 0
  • 媽蛋 肺都要吐出來了 總是折騰胃 活該 吐成這個(gè)樣子枯芬。
    相相相柳閱讀 176評(píng)論 0 0
  • 前幾天超級(jí)碗中場(chǎng)秀讓我狠狠的爽了一次千所,對(duì)就是這么直白,那種不到現(xiàn)場(chǎng)都燃的想哭的感覺蒜埋,就像音符的能量轉(zhuǎn)化成熱量直沖我...
    Zuang閱讀 417評(píng)論 0 3