我有一个程序,其中包含要尝试运行的程序包和依赖的jar。我已经尝试过使用可执行jar,但已退回到仅使用bash。
*是的,我已经阅读了有关此*
的大量stackoverflow文章大多数所说的示例涉及简单的平面项目
project
+ libs/ # all my external depends
+ src/main/java/com/blah # files
+ target/classes # where I create the class files.
是的,这是一个Jersey servlet。从命令行运行:
export BIGGIE='./:./target/classes/com/blah/*:libs/activation-1.1.jar:libs/jackson-annotations-2.8.10.jar:libs/jackson-core-2.8.10.jar:libs/jackson-databind-2.8.10.jar:libs/jackson-module-jaxb-annotations-2.8.10.jar:libs/javax.annotation-api-1.2.jar:libs/javax.inject-2.5.0-b42.jar:libs/javax.ws.rs-api-2.1.jar:libs/jaxb-api-2.2.4.jar:libs/jersey-bundle-1.19.4.jar:libs/jersey-common-2.27.jar:libs/jersey-entity-filtering-2.27.jar:libs/jersey-media-json-jackson-2.27.jar:libs/jsr311-api-1.1.1.jar:libs/osgi-resource-locator-1.0.1.jar:libs/servlet-api-2.5.jar:libs/stax-api-1.0-2.jar'
java -verbose -cp $BIGGIE com.blah.Main
and receive the error Error: Could not find or load main class com.blah.Main.
还有很多库加载的消息,如果有意义的话,我的库都没有。
我尝试使用Main类包名称的所有变体。我试过将所有类文件移至libs目录等。
从intellij运行时,这一切运行良好,但是我需要一个可以从Makefile运行的独立版本。不要问为什么。
非常感谢。
答案 0 :(得分:2)
文件夹的路径在包含“ com”的文件夹处停止。更改您的BIGGIE
声明,当前显示./target/classes/com/blah/*
的部分应为./target/classes/