我在实例化自定义jar文件中的类时遇到问题。问题是包含这个类的项目能够使用该类,但是一旦我从项目中构建了一个jar,并尝试在另一个项目中使用这个jar,我就无法实例化它。
例如,这段代码:
System.out.println("Reached here 1");
CustomClass customClass=new CustomClass();
System.out.println("Reached here 2");
不会创建对象,也不会打印“Reached here 2”。另一个问题是我不应该在这个类中处理异常,因为我不打算改变早期的设计。
有什么建议吗?
答案 0 :(得分:1)
至少在没有处理它的情况下看看异常是什么可能会有所帮助:
try {
System.out.println("Reached here 1");
CustomClass customClass=new CustomClass();
System.out.println("Reached here 2");
}
catch (Exception e) {
e.printStackTrace();
throw e;
}
答案 1 :(得分:1)
try {
System.out.println("begin");
CustomClass customClass=new CustomClass();`
} finally {
System.out.println("done");
}
如果不打印“已完成”,则您的课程在初始化期间挂起。那么就给我们更多。像类代码一样:))
答案 2 :(得分:0)
假设你没有得到任何错误消息(并且你的代码中没有做catch (Exception e) {}
),因为从未打印过“Reached here 2”,我要检查的一件事是{{{}的构造函数1}}只是CustomClass
s用于某些通知并阻止线程。
尝试生成一个不同的线程,为它提供wait()
引用,然后在超时后尝试Thread.currentThread()
运行构造函数的线程...
答案 3 :(得分:0)
问题不在.jar文件本身。这是在我的项目的设置。我应该将.jar文件包含在java目录中的ext文件夹中,我没有这样做。非常感谢大家的帮助。