如何解决未找到 com.jogamp.common.type.WriteCloneable 的错误 class 文件
How to solve error class file for com.jogamp.common.type.WriteCloneable not found
编译 JOGL 代码时,出现以下错误
class file for com.jogamp.common.type.WriteCloneable not found
我还附上了错误的截图:
代码如下:
package com.jogamp.opengl;
import com.jogamp.opengl.*;
import com.jogamp.opengl.awt.GLCanvas;
import javax.swing.JFrame;
public class HelloWorld implements GLEventListener {
@Override
public void init(GLAutoDrawable arg0)
{
}
@Override
public void display(GLAutoDrawable drawable) {
final GL2 gl = drawable.getGL().getGL2();
//Draw H
gl.glBegin(GL2.GL_LINES);
gl.glVertex2d(-0.8, 0.6);
gl.glVertex2d(-0.8, -0.6);
gl.glVertex2d(-0.8, 0.0);
gl.glVertex2d(-0.4, 0.0);
gl.glVertex2d(-0.4, 0.6);
gl.glVertex2d(-0.4, -0.6);
gl.glEnd();
//Draw W
gl.glBegin(GL2.GL_LINES);
gl.glVertex2d(0.4,0.6);
gl.glVertex2d(0.4,-0.6);
gl.glVertex2d(0.4,-0.6);
gl.glVertex2d(0.6,0);
gl.glVertex2d(0.6,0);
gl.glVertex2d(0.8,-0.6);
gl.glVertex2d(0.8,-0.6);
gl.glVertex2d(0.8,0.6);
gl.glEnd();
}
@Override
public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
{
}
@Override
public void dispose(GLAutoDrawable arg0)
{
}
public static void main(String[] args) {
final GLProfile gp = GLProfile.get(GLProfile.GL2);
GLCapabilities cap = new GLCapabilities(gp);
final GLCanvas gc = new GLCanvas(cap);
HelloWorld sq = new HelloWorld();
gc.addGLEventListener(sq);
gc.setSize(400, 400);
final JFrame frame = new JFrame("Hello World");
frame.add(gc);
frame.setSize(500,400);
frame.setVisible(true);
}
}
请帮我解决这个问题。
注意:我下载了 jogl-all.jar 文件。然后我解压缩了它。然后写了上面的代码。
您需要包含 gluegen-rt lib 来编译您的 class。
此外,您不需要解压缩 jar 文件。
使用 -cp
变量将 jar 库添加到您的 classpath:
javac -cp .:gluegen-rt.jar:jogl-all.jar HelloWorld.java
对于 运行 您的示例,您还需要本机扩展。你可以找到他们 here
注意:使用最新的 JOGL 库,特别是如果您使用最新的 Mac OS 版本。
java -cp .:gluegen-rt.jar:jogl-all-natives-macosx-universal.jar:jogl-all.jar:gluegen-rt-natives-macosx-universal.jar HelloWorld
这是输出:
下载 jogamp-fat.jar here (it's the latest release candidate in October 2020, otherwise, take this one 更新时下载,通常是 JOGL 2.4.0 或任何更高版本发布时)。
编译:
javac -cp .:jogamp-fat.jar HelloWorld.java
运行 与:
java -cp .:jogamp-fat.jar HelloWorld
您可以在我们的官方 wiki here 中找到更多信息。 Windows 用户必须将 :
替换为 ;
。使用胖 JAR 更容易,更不容易出错,特别是对于新手,它包含 Java 库和所有 JogAmp API(JOGL、JOCL、JOAL 和 GlueGen)的本机库。
编译 JOGL 代码时,出现以下错误
class file for com.jogamp.common.type.WriteCloneable not found
我还附上了错误的截图:
代码如下:
package com.jogamp.opengl;
import com.jogamp.opengl.*;
import com.jogamp.opengl.awt.GLCanvas;
import javax.swing.JFrame;
public class HelloWorld implements GLEventListener {
@Override
public void init(GLAutoDrawable arg0)
{
}
@Override
public void display(GLAutoDrawable drawable) {
final GL2 gl = drawable.getGL().getGL2();
//Draw H
gl.glBegin(GL2.GL_LINES);
gl.glVertex2d(-0.8, 0.6);
gl.glVertex2d(-0.8, -0.6);
gl.glVertex2d(-0.8, 0.0);
gl.glVertex2d(-0.4, 0.0);
gl.glVertex2d(-0.4, 0.6);
gl.glVertex2d(-0.4, -0.6);
gl.glEnd();
//Draw W
gl.glBegin(GL2.GL_LINES);
gl.glVertex2d(0.4,0.6);
gl.glVertex2d(0.4,-0.6);
gl.glVertex2d(0.4,-0.6);
gl.glVertex2d(0.6,0);
gl.glVertex2d(0.6,0);
gl.glVertex2d(0.8,-0.6);
gl.glVertex2d(0.8,-0.6);
gl.glVertex2d(0.8,0.6);
gl.glEnd();
}
@Override
public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
{
}
@Override
public void dispose(GLAutoDrawable arg0)
{
}
public static void main(String[] args) {
final GLProfile gp = GLProfile.get(GLProfile.GL2);
GLCapabilities cap = new GLCapabilities(gp);
final GLCanvas gc = new GLCanvas(cap);
HelloWorld sq = new HelloWorld();
gc.addGLEventListener(sq);
gc.setSize(400, 400);
final JFrame frame = new JFrame("Hello World");
frame.add(gc);
frame.setSize(500,400);
frame.setVisible(true);
}
}
请帮我解决这个问题。
注意:我下载了 jogl-all.jar 文件。然后我解压缩了它。然后写了上面的代码。
您需要包含 gluegen-rt lib 来编译您的 class。
此外,您不需要解压缩 jar 文件。
使用 -cp
变量将 jar 库添加到您的 classpath:
javac -cp .:gluegen-rt.jar:jogl-all.jar HelloWorld.java
对于 运行 您的示例,您还需要本机扩展。你可以找到他们 here
注意:使用最新的 JOGL 库,特别是如果您使用最新的 Mac OS 版本。
java -cp .:gluegen-rt.jar:jogl-all-natives-macosx-universal.jar:jogl-all.jar:gluegen-rt-natives-macosx-universal.jar HelloWorld
这是输出:
下载 jogamp-fat.jar here (it's the latest release candidate in October 2020, otherwise, take this one 更新时下载,通常是 JOGL 2.4.0 或任何更高版本发布时)。
编译:
javac -cp .:jogamp-fat.jar HelloWorld.java
运行 与:
java -cp .:jogamp-fat.jar HelloWorld
您可以在我们的官方 wiki here 中找到更多信息。 Windows 用户必须将 :
替换为 ;
。使用胖 JAR 更容易,更不容易出错,特别是对于新手,它包含 Java 库和所有 JogAmp API(JOGL、JOCL、JOAL 和 GlueGen)的本机库。