Java 添加Slick之后,jvm再也找不到主类了

Java 添加Slick之后,jvm再也找不到主类了,java,maven,lwjgl,Java,Maven,Lwjgl,我目前正在尝试用Slick和Maven构建一个简单的java游戏 我的设置基本正常。但是,当我将我的主类扩展为一个光滑的“BasicGame”时,我就不能再执行jar了,并发出以下错误消息: D:\workspace\GameTest\target>java -jar GameTest-1.0-SNAPSHOT.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/newdawn/slick/BasicGame

我目前正在尝试用Slick和Maven构建一个简单的java游戏

我的设置基本正常。但是,当我将我的主类扩展为一个光滑的“BasicGame”时,我就不能再执行jar了,并发出以下错误消息:

D:\workspace\GameTest\target>java -jar GameTest-1.0-SNAPSHOT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/newdawn/slick/BasicGame
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    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$000(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)
Caused by: java.lang.ClassNotFoundException: org.newdawn.slick.BasicGame
    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)
    ... 12 more
Could not find the main class: gameTest.MyGame. Program will exit.
在我这么做之前,一切都很顺利。Pom.xml是从中复制的

MyGame类如下所示: ... 进口

有人知道为什么会发生这个错误吗

有人知道为什么会发生这种错误吗

当您切换到使用可执行jar时,您创建了一个依赖库(slick.jar)不再位于类路径中的情况。一切都很顺利,因为MyGame在您的jar文件中。但是MyGame扩展了不在jar文件中的BasicGame。它位于slick.jar中,您的java命令不引用slick.jar

您必须以某种方式将所有依赖项返回到类路径中。有关更多信息,请查看相关问题

刚刚检查了pom.xml文件-还必须将lwjgl和vecmath集成到类路径中

public class MyGame extends BasicGame {

   ...
   empty implementations of BasicGame Methods
   ...

   public static void main(String[] args){
      System.out.println("Hello World");       
   }
}