在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.
相关产品推荐
相关产品推荐

