ssh框架整合-NoClassDefFoundError-NoSuchMethodError-遁地龙卷风

合集下载

SSH整合常见错误

SSH整合常见错误

spring‎+hibern‎a te出错小‎结:(1)ng.NoClas‎s DefFo‎u ndErr‎o r: org/hibern‎a te/contex‎t/Curren‎t Sessi‎o nCont‎e xt原因:出现这错误时‎,请更改hib‎e rnate‎的包,更新至最新或‎3.1以上(2)ng.NoClas‎s DefFo‎u ndErr‎o r: javax/transa‎c tion/Transa‎c tionM‎a nager‎原因:缺少jta.jar 或者是找不到‎h bm.xml文件导‎致sessi‎o nfact‎o ry出错,检查hbm文‎件路径是否正‎确,文件是否存在‎(3) 错误:Except‎i on in thread‎"main" org.hibern‎a te.except‎i on.SQLGra‎m marEx‎c eptio‎n: Could not execut‎e JDBC batch update‎或者org.spring‎f ramew‎o rk.jdbc.BadSql‎G ramma‎r Excep‎t ion: Hibern‎a te operat‎i on: could not insert‎: [com.yourco‎m pany.model.Login]; bad SQL gramma‎r [insert‎into mysql_‎_login‎(name, passwo‎r d) values‎(?,?)]; nested‎except‎i on is java.sql.SQLExc‎e ption‎:Table 'mysql.mysql_‎_login‎'doesn't exist java.sql.SQLExc‎e ption‎: Table 'mysql.mysql_‎_login‎' doesn't exist原因与解决:因为Hibe‎r nate Tools(或者Ecli‎p se本身的‎D ataba‎s e Explor‎e r)生成*.hbn.xml工具中‎包含有cat‎a log="***"(*表示数据库名‎称)这样的属性,将该属性删除‎就可以了(4)org.spring‎f ramew‎o rk.orm.hibern‎a te3.Hibern‎a teQue‎r yExce‎p tion: undefi‎n ed alias原因:在sprin‎g配置文件中‎,可能你设置了‎<prop key="hibern‎a te.query.factor‎y_clas‎s"> org.hibern‎a te.hql.classi‎c.Classi‎c Query‎T ransl‎a torFa‎c tory</prop>,指定了HQL‎的解释器,请删除或更改‎另一个解释器‎o rg.hibern‎a te.hql.ast.ASTQue‎r yTran‎s lator‎F actor‎y,如果没有设置‎,请确认是否有‎写错了HQL‎语句,是否与POJ‎O里的属性一‎样。

ssh学习过程中,遇到的问题及改正方法

ssh学习过程中,遇到的问题及改正方法
cause:缺少cglib的jar包,使用cglib-2.2.2.jar
.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is ng.NoClassDefFoundError: org/objectweb/asm/Type
2.再搜索该错误,发现是缺少 commons-logging.jar,说明spring的dist目录里面所有的jar放进后还是缺少commons-logging.jar的
.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 65; cvc-elt.1: 找不到元素 'beans' 的声明。
cause: 在sessinfactory中配置二级缓存及解决问题.
.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginAction' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'loginDao' while setting bean property 'loginDao'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'loginDao' is defined

SSH2错误解决方法

SSH2错误解决方法

而我作如下修改,效果就不同了
<s:property value="message.content" escape="false" />
页面就输出了
7.ajax返回中文乱码
比较奇怪,我电脑上浏览网页正常,其他电脑浏览就出现乱码,到网上搜苏,看到说的一大堆,可是都没有解决。
最后还是按照自己的理解修改,就可以了。
还有就是在hibernate.cgf.xml文件中删除这句话
<property name="current_session_context_class">thread</property>
方法二:
User user = (User) this.sessionFactory.getCurrentSession().get(User.class, personId);
6.输入数据库中的html代码
数据库中的内容为:
<p><strong><em>有效啊 很好不错</em></strong></p>
如果直接使用
<s:property value="message.content" />
则页面就是完全输出数据库原样内容,即
<p><strong><em>有效啊 很好不错</em></strong></p>
如果我使用这样的话就会报上面的错误.
如果使用:
Transaction transaction = this.sessionFactory.getCurrentSession().beginTransaction();

ssh详解

ssh详解

SSH框架整合步骤详解SSH框架 2009-04-09 10:47:00 阅读611 评论0 字号:大中小订阅更系统地学习Struts1.x/Struts2.x+Hibernate+Spring,请学习该开源项目Appfuse终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄好,哎,庆幸啊)。

碰到问题千万不要放弃,要相信没有解决不了的问题!项目结构图:jsp部分为:index.jsp;success.jsp;fail.jspUserDAO.java,User.hbm.xml自动生成,HibernateSessionFactory 是多余的。

相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二以前是整过这三个框架的,可是工作期间都不曾用过,不知不觉之中,学的东西全忘了。

这次又要开始找工作了,看着招聘启事上都写着:要求熟练掌握Struts,Hibernate或Spring框架……,没得办法,重新学呗。

Spring in Action中文版下载地址(ftp协议)ftp://222.214.218.61/book5/20080228/cf8b35cc-5bcd-497 3-b6b7-37ae3ec78391.rar如果无法下载,可以在里重新搜索首先开始搭建项目环境,步骤如下:使用平台:MyEclipse 6.0框架版本:Struts 1.2 Hibernate 3.0 Spring 2.01>添加过程:<1> 新建项目。

Package Explorer视图下,右键单击 New -> Web Project;<2> 添加Struts框架。

菜单栏MyEclipse -> Capabilities,或者右键单击新建的项目名,选择快捷菜单中的"MyEclipse"下的二级菜单;设置相关的包名后,请写一个Struts的小例子,用来测试Struts是否可用;<3> 添加Spring。

解决 使用了maven的项目中的 java.lang.NoClassDefFoundError

解决 使用了maven的项目中的 java.lang.NoClassDefFoundError

解决使用了maven的项目中的ng.NoClassDefFoundError本机环境:异常:**************************异常开始*****************************ng.NoClassDefFoundError:com/wiwoworld/newModelTest/service/UserServiceat ng.Class.getDeclaredMethods0(Native Method)at ng.Class.privateGetDeclaredMethods(Class.java:2427)at ng.Class.getDeclaredMethods(Class.java:1791)at org.junit.runners.model.TestClass.<init>(TestClass.java:38)at org.junit.runners.ParentRunner.<init>(ParentRunner.java:65)atorg.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:59)atorg.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit 4ClassRunner.java:103)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorA ccessorImpl.java:27)at ng.reflect.Constructor.newInstance(Constructor.java:513)atorg.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)atorg.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24 )atorg.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)atorg.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossi bilitiesBuilder.java:29)atorg.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:33)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReferenc e.java:33)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestMethodReference.<init>(JUnit4TestM ethodReference.java:25)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.j ava:54)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.ja va:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.j ava:452)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java: 390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java :197)Caused by: ng.ClassNotFoundException:erServiceat .URLClassLoader$1.run(URLClassLoader.java:200)at java.security.AccessController.doPrivileged(Native Method)at .URLClassLoader.findClass(URLClassLoader.java:188)at ng.ClassLoader.loadClass(ClassLoader.java:307)at uncher$AppClassLoader.loadClass(Launcher.java:301)at ng.ClassLoader.loadClass(ClassLoader.java:252)at ng.ClassLoader.loadClassInternal(ClassLoader.java:320)... 26 more***************************问题解决开始***********************************这是由于java编译后的class文件没有指定正确引起的项目名称上【右击】--->【Properties】--->【Java Build Path】--->【Source】--->【看看报NoClassDeFoundError的类是哪一个源目录,并选中】--->【看下面的Default output folder】--->【发现不是target/classes】--->【Edit】不使用项目的默认编译输出文件夹,这里自己定义为target/classes【选择target/classes文件夹】已经将target/classes目录做为java编译输出的文件夹了---【OK】再一次运行程序,这个问题就已经解决了。

SSH框架整合常见异常

SSH框架整合常见异常

spring+hibernate出错小结:(1)ng.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext原因:出现这错误时,请更改hibernate的包,更新至最新或3.1以上(2)ng.NoClassDefFoundError: javax/transaction/TransactionManager原因:缺少jta.jar 或者是找不到hbm.xml文件导致sessionfactory出错,检查hbm文件路径是否正确,文件是否存在(3) 错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update或者org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [com.yourcompany.model.Login]; bad SQL grammar [insert into mysql__login (name,password) values (?,?)]; nested exception is java.sql.SQLException: Table'mysql.mysql__login' doesn't exist java.sql.SQLException: Table 'mysql.mysql__login' doesn't exist原因与解决:因为Hibernate Tools(或者Eclipse本身的Database Explorer)生成*.hbn.xml 工具中包含有catalog="***"(*表示数据库名称)这样的属性,将该属性删除就可以了(4)org.springframework.orm.hibernate3.HibernateQueryException: undefined alias原因:在spring配置文件中,可能你设置了<prop key="hibernate.query.factory_class"> org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>,指定了HQL的解释器,请删除或更改另一个解释器org.hibernate.hql.ast.ASTQueryTranslatorFactory,如果没有设置,请确认是否有写错了HQL语句,是否与POJO里的属性一样。

SSH框架结合iReport报表开发错误解决

下文列出的错误是网上博文引用的,并结合自己搭建的Strust2-Spring-Hibernate框架整合jasper报表时出现的错误完善。

我用的是ireport-4.1.3设计的模板(jrxml文件),开始时一直报各种错误ClassNotFound 之类的,网上搜了下说是jar不全,jar包版本不对。

根据网上说的下了各种jar包各种版本的,花了很多时间,下面1~9错误主要是jar不全,也有版本冲突。

首先,解决jar不全的问题,这里主要讲jasper结合J2EE时需要的jar包,也就是前提是原来的J2EEjar包齐全:上面是所需要的包,有的可能有累赘,不过没有关系,包的版本不用考虑,有一个简便的方法:由于我用过iReport软件,所以jar包的版本问题可以通过在iReport的安装目录下找,上述的jar都是我在iReport的安装目录下找到后复制到lib里的这样可以避免版本的问题,也省去了找jar包的麻烦。

1.spring+jasperReport生成PDF格式的报表时报ng.NoSuchMethodError: com.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlending(Z)V异常原因:iText.jar文件过旧,将之改为2.1版就没事了。

ng.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException异常原因:没有导入groovy-all.jar 包,导入groovy-all.jar 包就可以了。

3. Excle 应用:ng.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFCellStyle 出现上述错误提示加入poi-3.2-FINAL-20081019.jar.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontName : STSong-LightpdfEncoding : UniGB-UCS2-HisPdfEmbedded : false出现上述错误提示加入iTextAsian.jarng.NoClassDefFoundError: org/apache/commons/digester/Digester出现上述错误提示加入commons-digester-1.7.jar 功能简述:解析xml文件;ng.NoClassDefFoundError: org/apache/commons/collections/ArrayStack出现上述错误提示加入commons-beanutils-1.7.jarng.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap出现上述错误提示加入commons-collections-2.1.jar8. ng.NoClassDefFoundError: com/lowagie/text/SplitCharacter(PDF)出现上述错误提示加入itext-1.3.1.jar9 ng.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFCellStyle(Excel)出现上述错误提示加入poi-3.0-alpha3-20061212.jarng.VerifyError: (class:groovy/runtime/metaclass/java/util/HashMapMetaClass, method: super$2$invokeMethod signature:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang /Object;ZZ)依赖包json-lib.jar版本过低,iReport-3.7后要求json版本2.1以上。

解决Docker容器中SSH访问问题的方法与配置

解决Docker容器中SSH访问问题的方法与配置随着容器化技术的发展,Docker已经成为了一种非常流行和常用的容器化平台。

通过Docker,我们可以方便地创建、部署和管理容器。

然而,在使用Docker时,有时候我们可能会遇到SSH访问问题,即无法通过SSH连接到Docker容器。

本文将介绍一些解决Docker容器中SSH访问问题的方法和配置。

一、确保SSH服务已启动在使用SSH访问Docker容器之前,我们首先要确保容器内已经运行了SSH服务。

有两种常见的方法可以实现这一点。

1. 在Dockerfile中安装并启动SSH服务可以在Dockerfile中添加以下代码,以在构建镜像过程中安装并启动SSH服务。

```RUN apt-get update && apt-get install -y openssh-serverRUN echo 'root:password' | chpasswdRUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/'/etc/ssh/sshd_configRUN service ssh restart```上述代码通过apt-get命令安装openssh-server软件包,并将root用户的密码设置为"password"。

接下来,通过修改sshd_config文件中的配置来允许root用户登录,并最后重启SSH服务。

2. 在容器中手动启动SSH服务在已运行的容器中,我们可以通过以下命令来安装并启动SSH服务。

```apt-get updateapt-get install -y openssh-serverservice ssh restart```以上命令将在已运行的容器中安装openssh-server软件包,并重启SSH服务。

解决classNotFound的问题的思路

解决classNotFound的问题的思路⽤Ctrl+Shift+t可以查看class,对于报错信息,我们把没有找到的class放到查找框⾥进⾏查看,找到之后把这个jar包放到WEB-INF的lib⽬录下,build path⼀下就可以了。

以上是在java web项⽬中,没有使⽤maven的情况可以使⽤.如果使⽤maven,有时也会碰到这种情况,原因可能是jar包冲突,也可能是tomcat缓存,还可能是jar包放到了jre的ext⽬录.分情况处理.1 tomcat缓存问题,最笨的⽅法,eclipse中project-clean,然后再选build Automatically,删除server,也就是tomcat,然后重新启动eclipse,重新添加tomcat,向tomcat容器添加项⽬.2 jar包放到了jre的ext⽬录.由于classPath的加载顺序是1)BootstrapClassLoader(启动类加载器) 负责加载$JAVA_HOME中jre/lib/rt.jar⾥所有的class,加载System.getProperty(“sun.boot.class.path”)所指定的路径或jar。

2)ExtensionClassLoader(标准扩展类加载器) 负责加载java平台中扩展功能的⼀些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定⽬录下的jar包。

载System.getProperty(“java.ext.dirs”)所指定的路径或jar。

3)AppClassLoader(系统类加载器) 负责记载classpath中指定的jar包及⽬录中class4)CustomClassLoader(⾃定义加载器) 属于应⽤程序根据⾃⾝需要⾃定义的ClassLoader,如tomcat、jboss都会根据j2ee规范⾃⾏实现如果⼀个jar包放到jre的ext⽬录,则会第⼆顺序加载,它依赖的jar包只会从BootstrapClassLoader中查找,如果依赖后⾯的加载器,也会报错。

SSH项目部署在window和linux下的Weblogic上出现 ClassNotFound异常解决办法

SSH项目部署在window和linux下的Weblogic上出现ClassNotFound异常解决办法问题:一个J2ee项目,部署在tomcat下可以,weblogic下就出现了各种蛋疼的问题。

前面第几篇博客来着,也提到了一个其它的异常,现在这次出现了ClassNotFound异常。

网上搜了很多资料,都没有解决。

以前的一个老同事给了一份weblogic部署的资料,那份资料文档是在window下的,说的是hibernate里面的antlr.jar与weblogic里面自带的jar包有冲突,修改域里面setDomainEnv.cmd 文件或者startWebLogic.cmd。

文档主要内容如下1.1 注意事项由于Weblogic和hibernate框架使用的包(antlr-2.7.6rc1.jar)有冲突,所以安装完毕之后,需要做些配置,解决冲突(此例的antlr包版本是2.7.6rc1):A) 将工程jar包中的antlr-2.7.6.jar复制到Weblogic的安装目录里,具体路径为D:\bea\wlserver_10.3\common\lib,然后重启服务即可B) 如果按照A步骤执行后,还不能解决冲突,则要到工程所在的域文件夹里,setDomainEnv.cmd的文件中修改服务的环境变量,把A步骤中的路径加上:右键-> 编辑,打开文件,在set CLASSPATH之前加上:set PRE_CLASSPATH=D:\bea\wlserver_10.3\common\lib\antlr-2.7.6.jar在set CLASSPATH之后加上:set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%然后重启服务即可window下,我尝试过,老同事的资料完全正确,项目可以正常跑起来。

但是在linux下的setDomainEnv.sh不一样,改配置都不知道如何该。

于是在网上找各种资料,修改setDomainEnv.sh 尝试过,修改startWeblogic.sh尝试过,都不行,后来找到资料,在项目的WEB-INF中新增一个weblogic.xml的配置文件,终于搞定了,内容如下,希望能帮到遇到该问题的朋友。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(-1)写在前面
spring2.0、struts1.2、hibernate3.0、myeclipse8.5、tomcat6.0,整合之中出
现了很多问题,前几天忙着整理毕业论文的资料,时间腾出来了,总算有能写的东西。

话说这宿舍的人少了,蚊子的选择也少了。

(0)详细解释
a.错误产生的原因
ng.NoSuchMethodError、 ng.NoClassDefFoundError,类似于这
种类型的错误是因为框架间jar包冲突了。

b.解决方式
已ng.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit为例,
是因为spring2.0和hibernate3.0都有asm这个jar包。

第一种:区发布项目的tomcat根目录下,进入webapps,进入你的项目,WEN-INF->lib下,找到asm.jar删掉即可。

第一次发布项目后,以后的项目发布时不
会跟新lib里的jar包
第二种:关闭服务器,去tomcat跟目录下的webapps里删除你的项目(否则即
便执行后续的行为,再次发布项目lib里的jar包也不会更新),
如果你的jar包在myeclipse中放在WEB-INF\lib下,找到后删除就好(我用的是build path,不是自己导的包,可能在spring 2.0 AOP libraries里),
如果你是用buildpath方式引用的jar包,点击myeclipse的Windows,
点击preference,左边依次点击MyEclipse->ProjectCapabilities->Spring,
在右边选择Spring2.0,下拉选框选择spring 2.0 AOP libraries(我的默认就是),
找到asm.jar(我这里是asm-2.2.3.jar),移除即可,然后重新启动服务器,发布
项目。

如下图所示:
(2)恢复移除的jar包
移除buildpath中的jar包是有隐患的,以前面移除的asm.jar为例,点击myeclipse的Windows,点击preference,左边依次点击MyEclipse-
>ProjectCapabilities->Spring,在右边选择Spring2.0,进入后随便点击一个jar包,点击Add JAR/ZIP,如果你发现地址栏出现\data\2.0\lib\aopalliance这样的片段,你一定想到了,lib目录下有spring2.0全部的jar,找到你想要的就可以了。

相关文档
最新文档