我有一个应用程序,我尝试使用Maven构建。我可以构建一个jar,但运行它什么都不做:它找不到Main类。然而,我在POM中设置了MainClass。当我尝试从命令行运行目标文件夹中的MainPane.class时返回: “错误:无法找到或加载Main class MainPane”。 (在目标文件夹内导航并运行'java MainPane')
之后我可以从Eclipse运行这个类,它有一个主方法:
public static void main(String[] args) {
System.out.println("test");
}
我应该能够在目标文件夹中运行类文件吗?什么可能出错?
答案 0 :(得分:1)
您需要通过定义-classpath参数
来告诉java类的位置java -classpath classes MainPane
或从项目目录
java -classpath target/classes MainPane
如果您有一个
,还要确保使用完整的包名java -classpath target/classes my.package.name.MainPane
@AndyGeeDe
TomEE treibt Tomitribe! | http://tomee.apache.org
答案 1 :(得分:1)
java -jar myjar.jar
只有在jar的清单包含" Main-Class:classname"条目。检查一下。如果它不存在,那么您仍然可以通过以下命令运行应用程序:
java -cp ./my.jar package/class_name
答案 2 :(得分:0)
尝试使用Google搜索“maven executable jar”。一旦您获得正确的构建,您可以使用
运行它java -jar myjar.jar
Java并不是非常擅长这一点。可执行jar需要解压缩所有相关的jar,并包含一个名为main类的清单文件。在我看来,它不是优雅的,但确实有效。