我将在Eclipse IDE中创建一个可运行的JAR文件。我所有的依赖项都来自Maven。在Eclipse中,我正在为桌面创建JavaFX GUI应用程序。
问题是当我创建可运行的JAR文件时。我收到此错误。
错误非常明显。
瓶子出口出现问题。查看其他详细信息 信息。从给定的启动中找不到主要方法 配置。
但是主要方法是什么?这里是public static void main(String[] args)
方法吗?
我应该怎么解决?
package se.danielmartensson.start;
import java.util.Optional;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import javafx.stage.Stage;
import se.danielmartensson.concurrency.Measureing;
public class Main extends Application{
/*
* Start the start(Stage front)
*/
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage front) throws Exception {
front.setOnCloseRequest(e->{
e.consume();
askForClosing();
});
Parent root = FXMLLoader.load(getClass().getResource("/se/danielmartensson/fxml/front.fxml"));
Scene scene = new Scene(root);
front.setScene(scene);
front.setTitle("JUBSPlotter");
front.show();
}
private void askForClosing() {
Alert question = new Alert(AlertType.CONFIRMATION);
question.setTitle("Closing");
question.setHeaderText("Do you want to close?");
question.setResizable(false);
question.setContentText("Press OK to close.");
Optional<ButtonType> answer = question.showAndWait();
if(answer.get() == ButtonType.OK) {
Measureing.active = false;
Platform.exit();
}
}
}
答案 0 :(得分:1)
您必须使用以下maven插件来创建可运行的jar文件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>
com.ddlab.rnd.App
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
这是一个非常简单的项目,您想在其中了解如何创建要运行的可执行jar文件。 要对如何创建可运行/可执行的jar文件有个好主意,请检查此github链接。 https://github.com/debjava/runnableJar 如果您还有其他库要用作应用程序的一部分。您必须创建胖子jar文件。要创建一个胖jar文件,您必须使用Maven Shade插件。在下面找到Maven Shade插件的链接。