'ol错误:找不到或加载主类os x

时间:2018-08-09 02:54:13

标签: java classloader manifest

我有一个程序,其中包含要尝试运行的程序包和依赖的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运行的独立版本。不要问为什么。

非常感谢。

1 个答案:

答案 0 :(得分:2)

文件夹的路径在包含“ com”的文件夹处停止。更改您的BIGGIE声明,当前显示./target/classes/com/blah/*的部分应为./target/classes/