Java 如何通过CMD或Bash使用Eclipse类路径?

Java 如何通过CMD或Bash使用Eclipse类路径?,java,bash,eclipse,classpath,eclipse-classpath,Java,Bash,Eclipse,Classpath,Eclipse Classpath,我有一个应用程序,我想dockerize。但首先,我需要通过控制台(cmd或bash)运行它。当我从Eclipse运行它时,一切都正常,但是当我从bash(java-jarproject-18.5.0-SNAPSHOT.jar)运行它时,我得到了这个错误 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at com.hp.spaceca

我有一个应用程序,我想dockerize。但首先,我需要通过控制台(cmd或bash)运行它。当我从Eclipse运行它时,一切都正常,但是当我从bash(java-jarproject-18.5.0-SNAPSHOT.jar)运行它时,我得到了这个错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at com.hp.spacecat.util.PropertyUtil.<clinit>(PropertyUtil.java:35)
        at com.hp.spacecat.SpaceCat.main(SpaceCat.java:76)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 2 more
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/logging/LogFactory 位于com.hp.spacecat.util.PropertyUtil.(PropertyUtil.java:35) 位于com.hp.spacecat.spacecat.main(spacecat.java:76) 原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory 位于java.net.URLClassLoader.findClass(URLClassLoader.java:381) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 还有两个 我有m2的罐子,他有这个LogFactory类。Mvn清洁安装成功。但由于某些原因,我无法通过控制台运行它。我不知道是否有某种方法可以从Eclipse中获取该类路径,或者有另一种方法可以解决这个问题。
关于这个日志异常的类似问题对我没有帮助。

您是如何构建jar的?您正在使用Maven吗?您可以在eclipse中将项目导出为可执行jar,或者使用Maven assembly构建包含依赖项的jarplugin@Amongalen是的,我使用maven,Clean安装成功,但我想运行可执行jar,我从LogFactory中得到了这个错误。@Amongalen java-jar project-18.5.0-SNAPSHOT.jar这是我运行的一个命令。您无法在Eclipse之外轻松访问Eclipse类路径。您需要使用其他方法来设置类路径或构建包含其他jar的jar。