【发布时间】:2014-07-16 09:44:51
【问题描述】:
编译模块 com.example.myPackage.GWT.HelloGWT
[INFO] 验证新编译的单元
[INFO] 在第一次通过时忽略了 1 个存在编译错误的单元。
[INFO] 编译时使用 -strict 或将 -logLevel 设置为 TRACE 或 DEBUG 以查看所有错误。
[INFO] 查找入口点类
[信息] [错误]“文件:/home/ilsurih/Projects/maven%20hibernate/src/main/java/com/example/myPackage/GWT/client/HelloGWT.java”中的错误
[INFO] [ERROR] 第 31 行:没有可用于类型 com.example.myPackage.HibernateUtil 的源代码;您是否忘记继承所需的模块?
[信息] [错误] 找不到类型 'com.example.myPackage.GWT.client.HelloGWT'
[INFO] [ERROR] 提示:以前的编译器错误可能导致此类型不可用
[INFO] [ERROR] 提示:检查模块的继承链;它可能没有继承所需的模块,或者模块可能没有正确添加其源路径条目
[错误] 线程“UnitWriteThread”中的异常 java.lang.IndexOutOfBoundsException
[信息] --------------------------------------------- -------------------------
[信息] 构建失败
[信息] --------------------------------------------- -------------------------
这是HibernateUtil 类:
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
return new Configuration().configure().buildSessionFactory();
}
catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
// Close caches and connection pools
getSessionFactory().close();
}
public static List getUsers(){
Session session = HibernateUtil.getSessionFactory().openSession();
return session.createCriteria(User.class).list();
}
}
当我从main 调用getUsers() 方法时,它可以工作。 Maven一定有问题。我试图删除所有休眠文件。当我运行mvn clean install 时,它会编译工作战争档案。
【问题讨论】:
-
扩展对象是多余的代码。
-
com.example.myPackage.HibernateUtil 是在同一个项目中还是在不同的项目中?
-
@JamesB 在同一。这是完整的项目:bitbucket.org/IlsurIH/login-page/src