You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在VSCode中通过JavaFX主应用启动其他应用的问题求助

JavaFX多应用共享设备连接启动问题

我是JavaFX编程新手,目前写了三个各带主舞台的JavaFX应用。想通过负责设备端口通信的主应用里的两个按钮,分别启动另外两个生成不同单页PDF的应用——这两个PDF应用需要从设备获取信息填充字段,所以得共享主应用的设备连接,不想重复搭建连接逻辑。

我试了网上各种方案都没用,以下是最新代码:

//Main App Code:
public class ConnectionTestApp extends Application {
    public void start(Stage primaryStage) throws IOException {
        //code that sets the stage
    }

    public void setupEventHandlers() throws IOException {
        // 此按钮打开应用1
        btnOpenCertificate.setOnAction(event -> {
            try {
                ProcessBuilder CertificateAppBuilder = new ProcessBuilder("java","-cp",".","project.pdfcreation.CertificateAppFinal");
                Process CertificateAppprocess = CertificateAppBuilder.start();

                InputStream CertificateAppinputStream = CertificateAppprocess.getInputStream();
                InputStream CertificateApperrorStream = CertificateAppprocess.getErrorStream();

                readStream("App Output: ", CertificateAppinputStream);
                readStream("App Error: ", CertificateApperrorStream);
            } catch (IOException e) {
                AlertMessages.showErrorDialogue("Error", "Unable to open app: "+ e.getMessage());
            }
        });

        // 此按钮打开应用2
        btnOpenInsDoc.setOnAction(event -> {
            try {
                ProcessBuilder InspectionAppBuilder = new ProcessBuilder("java","-cp",".","project.pdfcreation.InspectionAppFinal");
                Process InspectionAppprocess = InspectionAppBuilder.start();

                InputStream InspectionAppinputStream = InspectionAppprocess.getInputStream();
                InputStream InspectionApperrorStream = InspectionAppprocess.getErrorStream();

                readStream("App2 Output: ", InspectionAppinputStream);
                readStream("App2 Error: ",  InspectionApperrorStream);
            } catch (IOException e) {
                AlertMessages.showErrorDialogue("Error", "Unable to open app: "+ e.getMessage());
            }
        });
    }

    public static void main(String[] args) {
        ConnectionTestApp.launch(args);
    }
}

执行代码时出现错误,提示:Error: Could not find or load main class project.pdfcreation.CertificateAppFinal。

补充说明:如果把ProcessBuilder里的类名改成InspectionAppFinal.java或InspectionAppFinal.class,文件会在VSCode中打开但没有报错,我搞不懂问题出在哪,求帮忙。

环境信息:

  • 开发工具:VSCode
  • Java版本:openjdk version "21.0.1" 2023-10-17 LTS(Temurin)
  • 操作系统:Windows 11 64位(版本10.0.22621 Build 22621)

内容的提问来源于stack exchange,提问作者Bea K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:10:55