第一次使用maven后的Java.lang.NoClassDefFoundError?

我一直在为我的公司创建一个带有java的soap服务器,最近我转而使用Bone-CP和Maven导入所有必需的第三方程序。 完成bone-CP后,我使用了server命令

jar -cvfm SoapServer.jar manifest.txt SoapServer 

当我将它转移到我的服务器并尝试运行它时,我得到了这个错误:

 Exception in thread "main" java.lang.NoClassDefFoundError: SoapServer/SoapServer (wrong name: com/test/SoapServer/SoapServer) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 

我能想到的唯一想法是maven不会将所需的JAR打包到程序中吗? 如果是这种情况,我只需要下载它们并将它们添加到类路径中吗?

如果您需要将所有依赖项打包在可执行jar中,那么请配置您的pom

    maven-jar-plugin    true lib/ com.something.YourMainClass       

上面的块将把lib /中的所有库添加到manifest classpath条目中的classpath

并将所有依赖项复制到lib目录

  org.apache.maven.plugins maven-dependency-plugin 2.1   copy-dependencies package  copy-dependencies   ${project.build.directory}/lib false false true