我有使用命令构建的jar文件 jar -cf Generic.jar / java / mypackage / * .class Generic.jar中有三个类 mypackage是我命名的包的名称,以便包含我的类文件并创建一个jar文件。 后者我在Glassfish的 WEB-INF / lib 中复制了Generic.jar
在JSP中,我使用
导入了这些jar文件 <%@ page import="java.mypackage.GenericTree;" %>
<%@ page import="java.mypackage.GenericTree1111;" %>
<%@ page import="java.mypackage.GenericTree2222;" %>
但是我收到以下错误。有人能说什么出错吗?
HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NoClassDefFoundError: java/mypackage/GenericTree
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
GlassFish Server Open Source Edition 3.0.1
答案 0 :(得分:2)
jar -cf Generic.jar java/mypackage/*.class
java
开始的包名称不适合您。它仅适用于JDK类。这些类不能由常规类加载器加载,只能由bootstrap加载。所以,重命名你的包。它应该看起来像com.mycompany.myprogram.foo.bar
现在使用我编写的命令创建jar文件,然后测试结果:运行jar vft
并看到输出看起来像
1612 Thu Feb 03 14:44:34 IST 2011 com / mycompany / myprogram / Hello.class
注意路径。它必须包含您的包裹。
如果一切正常,请在WEB-INF / lib下复制你的jar并享受。祝你好运。