Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 马文:“我不知道。”;NoClassDefFoundError:com/jogamp/newt/event/KeyListener";_Java_Maven_Jar_Noclassdeffounderror - Fatal编程技术网

Java 马文:“我不知道。”;NoClassDefFoundError:com/jogamp/newt/event/KeyListener";

Java 马文:“我不知道。”;NoClassDefFoundError:com/jogamp/newt/event/KeyListener";,java,maven,jar,noclassdeffounderror,Java,Maven,Jar,Noclassdeffounderror,我试图在Maven项目中使用外部jar JOGL和GlueGen。构建过程可以工作,但当我执行jar时,会收到以下错误消息: Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/newt/event/KeyListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.

我试图在Maven项目中使用外部jar JOGL和GlueGen。构建过程可以工作,但当我执行jar时,会收到以下错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/newt/event/KeyListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        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)
        at com.jaamsim.ui.GUIFrame.main(GUIFrame.java:1995)
Caused by: java.lang.ClassNotFoundException: com.jogamp.newt.event.KeyListener
        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)
        ... 13 more
这是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>JaamSim</groupId>
    <artifactId>JaamSim</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <properties>
        <nd4j.version>1.0.0-beta2</nd4j.version>
        <dl4j.version>1.0.0-beta2</dl4j.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.jaamsim.ui.GUIFrame</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>

        <!-- JOGL & Gluegen -->
        <dependency>
            <groupId>org.jogamp.gluegen</groupId>
            <artifactId>gluegen-rt</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.jogamp.jogl</groupId>
            <artifactId>jogl-all-main</artifactId>
            <version>2.3.2</version>
        </dependency>

    </dependencies>
</project>

4.0.0
贾姆西姆
贾姆西姆
0.0.1-快照
1.0.0-beta2
1.0.0-beta2
1.8
1.8
org.apache.maven.plugins
maven jar插件
3.1.2
真的
解放党/
com.jaamsim.ui.GUIFrame
org.jogamp.gluegen
gluegen rt
2.3.2
org.jogamp.jogl
慢跑所有主要路线
2.3.2
我还尝试使用着色插件构建jar,并在本地repo中安装JOGL和GlueGen,这产生了相同的结果


非常感谢帮助解决此问题

Maven不会将依赖类打包到final.jar中。一些选择:

  • 使用-classpath标志()将依赖项手动添加到类路径中
  • 使用Maven exec插件,它将生成正确的类路径()
  • 创建一个包含所有依赖项的“胖”jar()

您可能缺少另一个依赖项-在上定义了
KeyListener
接口。@不,版本、工件ID和组ID都是正确的,但gluegen rt应替换为gluegen rt main,这是我在示例中所做的:käyrätorvi是正确的,依赖项没有与他的程序打包在一起。