SlickUtil-访问API时出现NoClassDefFoundError

问题描述 投票:0回答:1

[当我尝试使用SlickUtil做任何事情时,出现此错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/newdawn/slick/opengl/renderer/Renderer
    at org.newdawn.slick.TrueTypeFont.<clinit>(TrueTypeFont.java:28)
    at Text.init(Text.java:14)
    at Main.main(Main.java:78)
Caused by: java.lang.ClassNotFoundException: org.newdawn.slick.opengl.renderer.Renderer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 3 more

代码

public static Font font;
public static TrueTypeFont uf;

public static void main (String[] args) {

    font = new Font("Times New Roman", Font.BOLD, 20);
    uf = new TrueTypeFont(font, true); // Throws the error

}

public static void render (String text) {

    uf.drawString(0, 0, text);

}

为什么会引发此错误,我该怎么办?

否则,有没有一种方法可以在不使用SlickUtil的情况下使用OpenGL显示2D文本?

java rendering slick2d
1个回答
1
投票

为什么会引发此错误,我该怎么办?

由于包含该依赖项的JAR文件不在runtime类路径上而被抛出。 (显然,当您的应用程序被编译时,JAR文件是可用的。如果不是,那么引用该类的源代码就不会被编译。)

您需要做的是查找/识别JAR文件,并将其添加到应用程序的运行时类路径。


有没有一种方法可以在不使用SlickUtil的情况下使用OpenGL显示2D文本?

这是我们要求您查找或推荐软件的请求。这是题外话。

还有一点...如果您用类路径解决了real问题。

© www.soinside.com 2019 - 2024. All rights reserved.