在maven項目中引入百度富文字編輯器ueditor-1_4_2的過程中遇到幾個問題,記錄下來。
第一個問題:在maven庫中無法像其他jar包一樣引入ueditor-1.1.0.jar,解決辦法:不引用它的jar包,直接拷入引用的原始碼就行,是去ueditor的官網下載:ueditor_release_ueditor1_4_3_1-src.zip,解壓之後:
我用的是jsp,所以選擇jsp-》lib,點開之後:
然後分別在maven中引入四個jar包,最下面的jar包就不用引入了
再選擇jsp--》src ,可以看到:
將這些java檔案建立一個ueditor包,拷貝進入,然後分別修改各java檔案的package路徑名,最後在找到ueditor1_4_2\jsp\controller.jsp 檔案修改裡面的引入類路徑:把 import="com.baidu.ueditor.ActionEnter" 修改成 import="org.ccpit.ueditor.ActionEnter" 這樣就不用再引用ueditorjar包了。
第二個問題:在引用json.jar 啟動程式,在建立UE的時候後台提示:
嚴重: Servlet.service() for servlet [jsp] in context with path [] threw exception [javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0 (unable to load class org.json.JSONObject)] with root cause
java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0 (unable to load class org.json.JSONObject)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2961)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at org.ccpit.ueditor.ConfigManager.initEnv(ConfigManager.java:165)
at org.ccpit.ueditor.ConfigManager.<init>(ConfigManager.java:52)
at org.ccpit.ueditor.ConfigManager.getInstance(ConfigManager.java:66)
at org.ccpit.ueditor.ActionEnter.<init>(ActionEnter.java:34)
at org.apache.jsp.resource.ueditor1_005f4_005f2.jsp.controller_jsp._jspService(controller_jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
這個檔案是由於引用json的版本不對引起的,開啟pom.xml檔案 找到引入json包的配置位置
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20150729</version>
</dependency>
修改成:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
最後問題解決。