使用netbeans运行maven jgroups项目构建时发生java.lang.NoClassDefFoundError

使用netbeans运行maven jgroups项目构建时发生java.lang.NoClassDefFoundError,java,maven,netbeans,classnotfoundexception,jgroups,Java,Maven,Netbeans,Classnotfoundexception,Jgroups,我正在做一个聊天项目。当我在ide(netbeans)中运行它时,它会正常打开并工作得很好。但当我从终端运行它时,我得到如下错误: 线程“main”java.lang.NoClassDefFoundError中的异常:org/jgroups/Receiver 访问com.mycompany.chatapp1.ChatWindow。(ChatWindow.java:32) 在com.mycompany.chatapp1.Main.Main(Main.java:10) 原因:java.lang.Cl

我正在做一个聊天项目。当我在ide(netbeans)中运行它时,它会正常打开并工作得很好。但当我从终端运行它时,我得到如下错误:

线程“main”java.lang.NoClassDefFoundError中的异常:org/jgroups/Receiver
访问com.mycompany.chatapp1.ChatWindow。(ChatWindow.java:32)
在com.mycompany.chatapp1.Main.Main(Main.java:10)
原因:java.lang.ClassNotFoundException:org.jgroups.Receiver
位于java.net.URLClassLoader$1.run(URLClassLoader.java:372)
位于java.net.URLClassLoader$1.run(URLClassLoader.java:361)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:360)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
。。。还有2个

我通过命令java-jarchatapp1-1.0-SNAPSHOT.jar运行它

这是我的依赖信息:

org.jgroups
JGroup
3.4.3.最终版本


有什么不对劲吗

创建jar项目时,不包括依赖项目。因此,您可能需要通过
-cp
在命令行上设置类路径,这将非常麻烦,或者您可以使用,其中包括jar中的所有依赖项,从而生成一个完整的可执行jar文件

在pom中包含以下代码段(当然是在主类中):


org.apache.maven.plugins
maven阴影插件
2.2
包裹
阴凉处
我的主课

集成开发环境的全部要点是设置和管理源代码及其依赖项

Eclipse是以一种方式实现的,Netbeans是以另一种方式实现的,IntelliJ也是如此

您可以尝试通过模拟Eclipse的部署程序集来复制它。找出库和源代码的存储位置。将这些目录用于javac命令。然后使用包含main方法的类执行java

如果您的项目是一个web应用程序,那么这将变得更加困难


你真的应该让IDE为你做这件事。

当你通过命令提示符运行东西时,你的依赖JAR似乎丢失了。我应该做什么来更改以使用相同的命令运行它呢?只是出于好奇,当IDE上一切正常时,你为什么要使用命令提示符?我只是想从桌面上运行它,而不是从IDE:)哦,伙计,你太棒了:我以前看过这段代码,但选择了更短的版本。非常感谢您的解释!“你真的应该让IDE为你做这件事。”-然后你就不知道IDE是怎么做的,所以每次出了问题(而且会)都会是另一场疯狂的混乱,不仅是基本Java的文档,而是每个IDE实际上都是一团混乱。让IDE来做这件事真的很好。但是当IDE发出这样一条神秘的错误消息时,您仍然应该知道它的含义,并自己修复它。IDE是一种快捷方式,而不是始终使项目工作的绝对正确的向导。
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>my.main.class</mainClass>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>