代码之家  ›  专栏  ›  技术社区  ›  Andez

部署用Netbeans编译的Java应用程序-找不到第三方类

  •  0
  • Andez  · 技术社区  · 14 年前

    当编译时,它会产生一个dist文件夹,我认为您可以简单地xcopy到一个位置,它会工作。

    当我运行我的应用程序时,一旦它遇到窗体中对JIDE类的引用,应用程序就会报告一个错误并退出。

    java.lang.reflect.InvocationTargetException
    Caused by: java.lang.ClassNotFoundException: com.jidesoft.gantt.PeriodBackgroundPainter at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source)

    我将JAR文件复制到JAR文件所在文件夹的lib文件夹中。
    \我的应用程序\MyJar.jar

    但是,当我将lib文件夹的内容复制到C:\Program Files\Java\jre6\lib\ext时,一切正常。

    我错过什么了吗?我在Vista SP2上运行。

    干杯,

    安德仕

    2 回复  |  直到 14 年前
        1
  •  2
  •   Jon Freedman    14 年前

    例如,确保在命令行中提供-classpath参数

    java foo.bar.Baz-类路径/lib/jide-oss.jar文件

        2
  •  0
  •   Andez    14 年前

    为帮助乔恩干杯。

    我试图简化这里的文章,因为我认为这是一个类路径问题。你给了我一些建议,办公室里有人对清单说了些什么,我看了一下jar文件的内容。

    我们的应用程序由许多第三方jar和许多包组成,其中包括从第三方导入的类文件。

    我在jar中发现了META-INF文件夹,并注意到INDEX.LIST和MANIFEST.MF。我的另一个clean项目只有MANIFEST.MF文件。我从应用程序jar文件中删除了INDEX.LIST,一切正常。但每次我编译它都会生成INDEX.LIST。我查看了ANT站点,但不明白为什么会生成这个。

    干杯,

    安德仕