我一直在寻找解决此问题的方法,但是我尝试的一切都失败了。
我正在使用IntelliJ,并尝试从Resource文件夹(标记为Resources文件夹,并且在src文件夹的路径中)中获取资源。
我创建了一个产生相同问题的简单示例。 可以说我想将标签的文本设置为资源文件夹中python文件的完整路径:
package sample;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.io.IOException;
import java.net.URISyntaxException;
public class Main3 extends Application {
Stage window;
Label lbl = new Label();
@Override
public void start(Stage primaryStage) throws Exception {
window = primaryStage;
window.setTitle("Title");
VBox vbox = new VBox();
Button loginBtn = new Button("Log In");
loginBtn.setOnAction(e->{
try {
printScriptFile();
} catch (Exception ex) {
ex.printStackTrace();
}
});
vbox.getChildren().addAll(loginBtn, lbl);
Scene scene = new Scene(vbox, 300,200);
window.setScene(scene);
window.show();
}
public void printScriptFile() throws IOException {
String path = null;
try {
path = getClass().getClassLoader().getResource("SuspendProcess.py").toURI().getPath();
} catch (URISyntaxException e) {
e.printStackTrace();
}
lbl.setText(path);
}
public static void main(String[] args) {
launch(args);
}
}
此代码在IDE中可以正常工作,但是当我从jar运行它时,它无法正常工作。
结构:
请问该如何解决?