gpt4 book ai didi

java - Eclipse 将用户库(带有 Hibernate jar)创建到项目中作为系统库

转载 作者:行者123 更新时间:2023-12-02 06:30:42 25 4
gpt4 key购买 nike

我创建了一个 HelloWorld hibernate 应用程序(hibernate.cfg.xml + 一个 POJO 类 + 一个主类来将 pojo 类对象保存在数据库中)。对于这个 - 我使用所需的 Hibernate jar 创建了用户库并将其添加到项目中,但由于某种原因,在创建自定义用户 Hibernate 库时,我选中了“系统库(添加到启动类路径)”复选框。

我尝试运行该应用程序并得到

    Exception in thread "main" java.lang.ExceptionInInitializerError
at org.hibernate.cfg.Configuration.reset(Configuration.java:309)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:275)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:279)
at com.woworks.secondhibernate.main.HibernateTest.main(HibernateTest.java:22)
Caused by: java.lang.NullPointerException
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
at org.hibernate.cfg.Environment.<clinit>(Environment.java:220)
... 4 more

如果我取消选中此“系统库(添加到启动类路径)” - 一切正常。有人可以解释一下为什么会发生这种情况以及“系统库(添加到启动类路径)”的目的是什么

谢谢!

最佳答案

引导类路径用于运行和提供 java。例如,javac(编译器)使用引导类路径中的 java 类来编译代码。当 javac 解析编译类所需的引用(例如:代码中引用的 hibernate 对象)时,它将使用编译类路径。

这同样适用于运行 java 应用程序。引导类路径(或系统类路径)类对运行时可见,但对用户应用程序不可见。

有关更多详细信息,请参阅此文档 http://docs.oracle.com/javase/7/docs/technotes/tools/findingclasses.html

关于java - Eclipse 将用户库(带有 Hibernate jar)创建到项目中作为系统库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20083696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com