每周问题系列 - JavaFX界面没响应,Maven编译自动忽略rt包
本人博客文章网址:https://www.peretang.com/weekly-problem-session-week-31/
前言
新开一个系列, 用来记录每周遇到的问题
JavaFX界面没响应
当你在JavaFX的一个事件中绑定了一个需要一段时间运行的事件时, 在该事件运行期间, JavaFX界面是没响应的.
查阅Oracle官方文档后得知, JavaFX是一个单线程程序, 其大概的流程是"界面-用户操作-根据顺序存入队列中-从队列中获取事件-执行具体的事件操作-修改界面".
Oracle亦给出了解决方法, JavaFX为我们准备了javafx.concurrent包, 来提供并发的支持, 使用javafx.concurrent中的Task类, 我们可以让逻辑在后台运行, 并可与界面控件进行绑定实现实时更新.
参考
Maven编译自动忽略rt包
在本周的工作里, 在某个方法中使用了一个JDK自带的rt包中的类, 在使用Junit测试后没问题, 打算用maven打包并发布, 但是却提示该类不存在, 在网上查阅资料后得知
--"sun之类的包并不包含在Java平台的标准中"
解决方法:
在Maven中的maven-compiler-plugin插件中的configuration中添加
<fork>true</fork>
<compilerArgument>-XDignore.symbol.file</compilerArgument>
从而让javac编译器允许编译rt中的某些特别类
参考
Maven can't compile class which depends on rt.jar
Keep outstanding.
Pere Tang. 2pm on Aug 8, 2017
上一篇: activeMq 简单的安全设置
下一篇: 职业生涯系列 – 职业倦怠