如何从有包的命令行运行java项目?

如何从有包的命令行运行java项目?,java,Java,我试图运行一个java项目,它有许多jar文件和包。 我已经在命令行中添加了所有必需的JAR,但不确定如何添加不同包中的所有.class文件 这就是我到现在为止一直在尝试的 java-cp/abc/hello.jar:/def/second.jar:lib/*:。com.project.HelloWorld 我想在上面的命令中添加所有类文件 任何帮助都将不胜感激。。 提前感谢..要包含.class文件,您需要使用-cp选项指定目录树的根目录。因此,如果在target/classes/packag

我试图运行一个java项目,它有许多jar文件和包。 我已经在命令行中添加了所有必需的JAR,但不确定如何添加不同包中的所有.class文件

这就是我到现在为止一直在尝试的

java-cp/abc/hello.jar:/def/second.jar:lib/*:。com.project.HelloWorld

我想在上面的命令中添加所有类文件

任何帮助都将不胜感激。。
提前感谢..

要包含.class文件,您需要使用-cp选项指定目录树的根目录。因此,如果在
target/classes/package/Main.class
中有
package.Main
,则需要将target/classes/添加到
-cp

java -cp lib/*.jar:target/classes/ package.Main

如果编译到当前目录(这不是一件好事,您应该始终使用输出目录),那么
/
就可以了。它将在名为
/package/Main.class
的直接子目录中搜索
package.Main
。(这也意味着不要为源文件指定完整的文件名)。

如果它们位于此(
)中的正确子文件夹中,则无需添加(您已使用
)您是否尝试将带有包的类的基添加到类路径中,并使用完整的限定名运行该类?您是否考虑过创建一个包含已编译的类的jar文件,然后将该jar和所有jar依赖项一起包含在类路径中?无论如何,最终这个选项可能会更方便。谢谢@eckes。。。。我尝试给出“java-cp/abc/one.jar:lib/*:/root/workspace/prjct1/bin com.project.HelloWorld”。。。如果这是一个noob问题,
您应该始终使用输出目录,为什么?因为如果类位于不包含任何其他内容的公共目录下,您可以更好地清理和打包这些类。此外,您的类路径不包含不需要的文件(如果您使用
-cp classes/
而不是
-cp.
)。