【问题标题】:Importing jar file to use like a library but having an error导入 jar 文件以像库一样使用但出现错误
【发布时间】:2021-07-23 21:08:24
【问题描述】:

首先感谢您阅读我的问题。 我有一个应该编译的 .jar 文件和 .java 文件

它们是“fractals.jar”和“FractalsTest.java”

所以基本上“fractals.jar”包含带有包的 .class 文件,以运行一个在 java 程序上显示分形的简单程序,目录如下所示。

fractals -- FractalExplorer
          | FracalGenerator
          | JImageDisplay
          + generator -- Mandelbrot
                      -- BurningShip
                      -- Tricorn

所以,前三个类位于目录(文件夹)和名为“fractals”的包下 目录下的三个分形模式(文件夹_和名为“fractals.generator”的包 FractalGenerator 通过导入三个分形模式类和 FractalExplorer 类来使用它们 是包含主函数的类。 我已成功编译这六个类并将它们压缩为“fractals.jar”文件,其中包含“Main-Class:fractals.FractalExplorer”的清单。最终,“fractals.jar”文件运行良好。 但我的目标是制作另一个使用“fractals.jar”文件的java文件,就像一个库一样运行相同的东西!!! 所以这里是“FractalsTest.java”的代码

import fractals.*;

public class FractalsTest
{
    public static void main(String[] args)
    {
        FractalExplorer fracExp = new FractalExplorer(800);
        fracExp.createAndShowGUI();
        fracExp.drawFractal();
    }
}

我尝试通过像这样输入 cmd 来编译它:

>javac -classpath fractals.jar FractalsTest.java

(假设它们都在桌面上)

它编译得非常好,并创建了“FractalsTest.class”。

现在我需要做的就是进入

java -classpath fractals.jar FractalsTest

但是!!!!控制台屏幕显示 "Could not find or load main class FractalsTest""java.lang.ClassNotFoundException: FractalsTest"

请帮忙!!!我犯了什么错误????

【问题讨论】:

    标签: java class jar compilation classnotfoundexception


    【解决方案1】:

    我猜java -classpath fractals.jar FractalsTestfractals.jar 中搜索FractalsTest.class。简单的java FractalsTest 应该可以解决问题。

    编辑:This answer 声明当前目录必须手动添加到类路径中。所以在你的类路径末尾添加:. 以包含当前目录。

    【讨论】:

    • C:\Users\HG\Desktop>java FractalsTest 异常在线程“main”java.lang.NoClassDefFoundError:fractals/FractalExplorer at FractalsTest.main(FractalsTest.java:7) 原因:java。 lang.ClassNotFoundException:fractals.FractalExplorer at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) ) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 1 更多
    • 抱歉,我只需要自己学习一些关于类路径的知识。感谢堆栈跟踪,这让我找到了(希望是正确的)解决方案。
    猜你喜欢
    • 1970-01-01
    • 2019-05-28
    • 2022-11-30
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 2013-10-16
    • 2019-11-26
    • 2021-08-02
    相关资源
    最近更新 更多