无法在JSP代码中导入jar文件

时间:2011-02-06 14:17:19

标签: java jsp jar glassfish executable-jar

我有使用命令构建的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

1 个答案:

答案 0 :(得分:2)

  1. 你确定你的命令成功了吗?当路径以斜线开头时,它对我不起作用。因此,首先删除前导斜杠,即命令应如下所示:jar -cf Generic.jar java/mypackage/*.class
  2. 从单词java开始的包名称不适合您。它仅适用于JDK类。这些类不能由常规类加载器加载,只能由bootstrap加载。所以,重命名你的包。它应该看起来像com.mycompany.myprogram.foo.bar
  3. 现在使用我编写的命令创建jar文件,然后测试结果:运行jar vft并看到输出看起来像

    1612 Thu Feb 03 14:44:34 IST 2011 com / mycompany / myprogram / Hello.class

  4. 注意路径。它必须包含您的包裹。

    如果一切正常,请在WEB-INF / lib下复制你的jar并享受。祝你好运。