java.lang.NoClassDefFoundError:javax/mail/Authenticator-导致fxml页面无法加载
我正在重组这个问题——根据另一个问题编辑而成 当我登录到程序并双击tableView中的某个项目时,我在弹出的新选项卡上根本看不到任何东西。Main.fxml显示良好,这意味着MainController似乎工作正常,如图所示: 当您双击一行时,它应该如下所示: 但这种情况正在发生: 为了向您展示如何调用代码,该代码在.java格式下运行良好,但在编译时会中断:java.lang.NoClassDefFoundError:javax/mail/Authenticator-导致fxml页面无法加载,java,eclipse,maven,tableview,fxml,Java,Eclipse,Maven,Tableview,Fxml,我正在重组这个问题——根据另一个问题编辑而成 当我登录到程序并双击tableView中的某个项目时,我在弹出的新选项卡上根本看不到任何东西。Main.fxml显示良好,这意味着MainController似乎工作正常,如图所示: 当您双击一行时,它应该如下所示: 但这种情况正在发生: 为了向您展示如何调用代码,该代码在.java格式下运行良好,但在编译时会中断: Tab tab = new Tab(); tabs.getTabs().add(tab); tab.setTex
Tab tab = new Tab();
tabs.getTabs().add(tab);
tab.setText(tableView.getSelectionModel().getSelectedItem().getDescription());
// loads the previously instantiated version of the Item.fxml resource
FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("fxml/Item.fxml"));
tab.setContent((Node) loader.load());
date = dateLbl.getText();
time = timeLbl.getText();
user = userLbl.getText();
SingleSelectionModel<Tab> selectionModel = tabs.getSelectionModel();
selectionModel.select(tab);
// creates an ItemController object and passes through the results of the database query and stores them as variables in the ItemController, also sets the database to aseptic
ItemController controller = loader.<ItemController>getController();
controller.setTextItems(id, manufacturer_name, model_number, vendor_name, vendor_part_number, tolmar_part_number, part_location, price, quantity, min, max, img, equipment_group, equipment_id, additional_notes, description);
controller.setUserVariables(user, time, date);
controller.setDBState(aseptic);
Tab Tab=new Tab();
tabs.getTabs().add(tab);
tab.setText(tableView.getSelectionModel().getSelectedItem().getDescription());
//加载先前实例化的Item.fxml资源版本
FXMLLoader=newFXMLLoader(getClass().getClassLoader().getResource(“fxml/Item.fxml”);
tab.setContent((节点)loader.load());
date=dateLbl.getText();
time=timeLbl.getText();
user=userLbl.getText();
SingleSelectionModel selectionModel=tabs.getSelectionModel();
选择模型。选择(选项卡);
//创建ItemController对象并传递数据库查询的结果,并将其作为变量存储在ItemController中,还将数据库设置为无菌
ItemController=loader.getController();
控制器.设置项(id、制造商名称、型号、供应商名称、供应商零件号、tolmar零件号、零件位置、价格、数量、最小值、最大值、img、设备组、设备id、附加注释、说明);
controller.setUserVariables(用户、时间、日期);
控制器。setDBState(无菌);
正如您在第二个图像的右下角所看到的(当我双击一行时程序应该打开的方式),我可以添加或删除项目。当这个项目达到最低限度时,它会自动生成一封电子邮件,让我知道我还需要订购多少。我相信这个功能不能正常工作,可能导致整个页面无法加载?我已经回顾了其他类似的问题,并尝试了一些建议,但没有成功,我添加了mail.jar和activation.jar文件,并将它们添加到我的pom中(见下文)。我觉得我已经非常接近于让这个代码在现实世界中实际工作,请帮助,谢谢
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
javax.mail
邮件
1.4
javax.activation
激活
1.1
它现在工作正常,我将javax.mail依赖项的版本从1.4更改为1.4.1,效果良好。它现在工作正常,我将javax.mail依赖项的版本从1.4更改为1.4.1,效果良好