整合struts、hibernate时的怪异问题:java.lang.ClassNotFoundException: org.jboss.logging.Bas

hfei99999 2012-06-23 12:49:56
整合struts、hibernate时的错误提示:
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:510)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

root cause

java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(Unknown Source)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
org.hibernate.annotations.common.util.impl.LoggerFactory.make(LoggerFactory.java:34)
org.hibernate.annotations.common.Version.<clinit>(Version.java:34)
org.hibernate.annotations.common.reflection.java.JavaReflectionManager.<clinit>(JavaReflectionManager.java:73)
org.hibernate.cfg.Configuration.createReflectionManager(Configuration.java:3006)
org.hibernate.cfg.Configuration.createReflectionManager(Configuration.java:3002)
org.hibernate.cfg.Configuration.reset(Configuration.java:299)
org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:289)
org.hibernate.cfg.Configuration.<init>(Configuration.java:290)
org.hibernate.cfg.Configuration.<init>(Configuration.java:294)
org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:168)
com.bjsxt.registration.util.HibernateUtil.<clinit>(HibernateUtil.java:9)
com.bjsxt.registration.dao.impl.UserDAOImpl.checkUserExistsWithName(UserDAOImpl.java:20)
com.bjsxt.registration.service.impl.UserManagerImpl.exists(UserManagerImpl.java:32)
com.bjsxt.registration.action.UserAction.execute(UserAction.java:60)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)


root cause

java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

...全文
4467 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cansluck 2014-08-08
  • 打赏
  • 举报
回复
我的也出现了这样的问题,然后我将我自己收集整理好的ssh框架的jar包重新覆盖一遍,然后就能够运行了!兴奋啊!就是替换了原来的jar包
CoffeePhoton 2012-10-15
  • 打赏
  • 举报
回复
楼上正解!
chenyuelin311 2012-07-16
  • 打赏
  • 举报
回复
加入jboss-logging-3.1.0.GA.jar就好了。hibernate4日志机制改了
hfei99999 2012-06-28
  • 打赏
  • 举报
回复
问题搞定:我用了hibernate.jar的Bate版,要用final版的Jar包就对了。
谢谢各位了!!!
hfei99999 2012-06-27
  • 打赏
  • 举报
回复
没有遇到同样问题并解决的人吗?
hfei99999 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
最好把jar包全部换成自己下载的,不要编译工具帮你自动加载的jar包
[/Quote]
我加的包都是我在hibernate、struts2网站上下的呀!!可运行时就有这个错误:java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger
java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

有哪个高人帮我解决这个问题,我膜拜呀!!!!
Ywasd 2012-06-27
  • 打赏
  • 举报
回复
最好把jar包全部换成自己下载的,不要编译工具帮你自动加载的jar包
hfei99999 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
你下载了那个资源不就轻松搞定了么
[/Quote]
我想问我还要下载哪个资源?
我用的包是:antlr-2.7.6.jar、asm-3.3.jar、asm-commons-3.3.jar、asm-tree-3.3.jar、commons-collections-3.1.jar、commons-fileupload-1.2.2.jar、commons-io-2.0.1.jar、commons-lang-2.5.jar、dom4j-1.6.1.jar、ejb3-persistence.jar、freemarker-2.3.18.jar、hibernate-annotations-3.5.6-Final.jar、hibernate-commons-annotations-4.0.1.Final.jar、hibernate-jpa-2.0-api-1.0.0.Final.jar、hibernate3.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、log4j-1.2.16.jar、ognl-3.0.3.jar、slf4j-api-1.6.1.jar、slf4j-log4j12-1.6.4.jar、struts2-core-2.3.1.jar、xwork-core-2.3.1.jar

hfei99999 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

是不是jar包问题啊!
[/Quote]
我想问是少了什么jar包?这个包org/jboss/logging/BasicLogger在网上没有搜到。
hfei99999 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

第一我就会去找是否导入了应该有的包org/jboss/logging/BasicLogger 与之相关的包
[/Quote]
可是我没有用到jboss。我用的是Tomcat。
d945332077 2012-06-27
  • 打赏
  • 举报
回复
第一我就会去找是否导入了应该有的包org/jboss/logging/BasicLogger 与之相关的包
我就改个名 2012-06-27
  • 打赏
  • 举报
回复
class not found 找不到类 晕死
s478853630 2012-06-27
  • 打赏
  • 举报
回复
你下载了那个资源不就轻松搞定了么
基拉 2012-06-27
  • 打赏
  • 举报
回复
是不是jar包问题啊!
hfei99999 2012-06-23
  • 打赏
  • 举报
回复

struts.xml代码:
<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<package name="default" namespace="/" extends="struts-default"><action name="user" class ="com.bjsxt.registration.action.UserAction">
<result name="success">registerSuccess.jsp</result>
<result name="fail">registerFail.jsp</result>
</action>
</package>

</struts>

UserAction.java代码:
package com.bjsxt.registration.action;

import com.bjsxt.registration.model.User;
import com.bjsxt.registration.service.UserManager;
import com.bjsxt.registration.service.impl.UserManagerImpl;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{
private String username ;
private String password ;
private String password2 ;
private UserManager um = new UserManagerImpl();

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getPassword2() {
return password2;
}

public void setPassword2(String password2) {
this.password2 = password2;
}

public UserManager getUm() {
return um;
}

public void setUm(UserManager um) {
this.um = um;
}

@Override
public String execute()throws Exception{
User u = new User();
u.setUsername(username);
u.setPassword(password);
if(um.exists(u)){
return "fail";
}
um.add(u);
System.out.println(username);
return "success";
}
}

User代码:
package com.bjsxt.registration.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class User {
private int id ;
private String username ;
private String password ;

@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

UserManagerImpl代码:
package com.bjsxt.registration.service.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.bjsxt.registration.dao.UserDAO;
import com.bjsxt.registration.dao.impl.UserDAOImpl;
import com.bjsxt.registration.model.User;
import com.bjsxt.registration.service.UserManager;
import com.bjsxt.registration.util.HibernateUtil;

public class UserManagerImpl implements UserManager {
private UserDAO userDAO = new UserDAOImpl();

public UserDAO getUserDAO() {
return userDAO;
}

public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}

public boolean exists(User u)throws Exception{
return userDAO.checkUserExistsWithName(u.getUsername());
}

public void add(User u)throws Exception{
userDAO.save(u);
}
}

UserDAOImpl代码:
package com.bjsxt.registration.dao.impl;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.bjsxt.registration.dao.UserDAO;
import com.bjsxt.registration.model.User;
import com.bjsxt.registration.util.HibernateUtil;

public class UserDAOImpl implements UserDAO{
public void save(User u){
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
s.save(u);
s.getTransaction().commit();
}

public boolean checkUserExistsWithName(String username){
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
Long count = (Long)s.createQuery("select count(*) from User u where u.username = :username").setString("username", username).uniqueResult();
s.getTransaction().commit();
if(count > 0)return true ;
return false ;
}
}
我用的包是:antlr-2.7.6.jar、asm-3.3.jar、asm-commons-3.3.jar、asm-tree-3.3.jar、commons-collections-3.1.jar、commons-fileupload-1.2.2.jar、commons-io-2.0.1.jar、commons-lang-2.5.jar、dom4j-1.6.1.jar、ejb3-persistence.jar、freemarker-2.3.18.jar、hibernate-annotations-3.5.6-Final.jar、hibernate-commons-annotations-4.0.1.Final.jar、hibernate-jpa-2.0-api-1.0.0.Final.jar、hibernate3.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、log4j-1.2.16.jar、ognl-3.0.3.jar、slf4j-api-1.6.1.jar、slf4j-log4j12-1.6.4.jar、struts2-core-2.3.1.jar、xwork-core-2.3.1.jar

错误提示是没有这个类:org.jboss.logging.BasicLogger,这让小弟很郁闷了,我都没有用jboss,它怎么会说是jboss的类错误呢?
有哪位大侠、高手请指点小弟一招吧,人要疯了。在网搜了很久,还是没有解决。
hfei99999 2012-06-23
  • 打赏
  • 举报
回复
怎么没有回复呢?自己顶先?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧