java.lang.ClassNotFoundException:org.hibernate.annotations.common.reflection.ReflectionManager
该程序是使用JSP和servlet编写的。对于数据库操作,使用Hibernate。当我试图将数据保存到数据库时,我的程序会抛出一个异常。 我在stackoverflow找到了一些答案,但对我没有帮助。 我使用IntellijIDEA和ApacheTomcat。 你能告诉我这里有什么问题吗 注册类别:java.lang.ClassNotFoundException:org.hibernate.annotations.common.reflection.ReflectionManager,java,hibernate,maven,tomcat,classnotfoundexception,Java,Hibernate,Maven,Tomcat,Classnotfoundexception,该程序是使用JSP和servlet编写的。对于数据库操作,使用Hibernate。当我试图将数据保存到数据库时,我的程序会抛出一个异常。 我在stackoverflow找到了一些答案,但对我没有帮助。 我使用IntellijIDEA和ApacheTomcat。 你能告诉我这里有什么问题吗 注册类别: @WebServlet(name = "Registration") 公共类注册扩展了HttpServlet{ protected void doPost(HttpServletRequest r
@WebServlet(name = "Registration")
公共类注册扩展了HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String str = request.getReader().lines().collect(Collectors.joining());
System.out.println(str);
UserRegData userRegData = new ObjectMapper().readValue(str, UserRegData.class);
long tmpId = new Random().nextLong();
if (tmpId < 0) {
tmpId *= -1;
}
userRegData.setId(new Long(tmpId));
System.out.println("\n>>>>>> User registration Data :");
System.out.println(userRegData.toString());
//set user data into the object for inserting into table in Database
User user = new User();
user.setEmail(userRegData.getEmail());
user.setCity(userRegData.getCity());
user.setCountry(userRegData.getCountry());
user.setDateOfBirth(userRegData.getDateOfBirth());
user.setId(userRegData.getId());
user.setPhoneNumber(userRegData.getPhoneNumber());
user.setSex(user.getSex());
//set user login and password for inserting into table in Database
try {
UserAuthData userAuthData = new UserAuthData(userRegData.getId(), Hashing.hashString(userRegData.getLogin()),
Hashing.hashString(userRegData.getPassword()));
System.out.println("users login: " + userAuthData.getLogin());
System.out.println("users pass: " + userAuthData.getPassword());
boolean allusersTable = ManagingData.insIntoTable(user, user.getId());
boolean users_login_dataTable = ManagingData.insIntoTable(userAuthData, userAuthData.getId());
if (allusersTable == true && users_login_dataTable == true) {
System.out.println("user has been registered!");
}
}catch (NoSuchAlgorithmException e){
System.out.println("No such Algorithm!!!!!!!!");
e.printStackTrace();
}
response.setStatus(201);
response.sendRedirect("/page_of_user");
System.out.println("response has been sent!");
}
引发异常的方法是:
public void setId(Long id) {
Configuration configuration = new Configuration().configure().addAnnotatedClass(User.class);
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
while(true) {
if (session.get(User.class, id) == null) {
this.id = id;
break;
}else{
id = new Random().nextLong();
if(id<0){
id *= (-1);
}
}
}
}
public void setId(长id){
配置=新配置().configure().addAnnotatedClass(User.class);
ServiceRegistry ServiceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
SessionFactory SessionFactory=configuration.buildSessionFactory(serviceRegistry);
Session Session=sessionFactory.openSession();
事务=会话。beginTransaction();
while(true){
if(session.get(User.class,id)==null){
this.id=id;
打破
}否则{
id=新随机().nextLong();
如果(id<代码>
org.hibernate.common
hibernate commons注释
5.0.4.4最终版本
请编辑您的帖子以附加注册类我已经附加了注册类。您是否已经从控制台执行了“mvn clean安装”,然后执行了(在eclipse中称为“project clean”)安装?我尝试过执行mvn clean安装,但构建失败
public void setId(Long id) {
Configuration configuration = new Configuration().configure().addAnnotatedClass(User.class);
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
while(true) {
if (session.get(User.class, id) == null) {
this.id = id;
break;
}else{
id = new Random().nextLong();
if(id<0){
id *= (-1);
}
}
}
}
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>5.0.4.Final</version>
</dependency>