我正在尝试开发一个涉及JavaFX的Gradle项目。
规格:Linux Mint 18.3,Java 11,Eclipse 2019-06,JavaFX:13或11 ...
在过去的几个小时中,几个有用的问题答案对我有所帮助:this one告诉我(带有有用的示例)如何配置事物,至少使用Java文件保存项目的主类(在事实上,我最终希望理想地用Groovy编写我的所有代码),以克服错误“缺少JavaFX运行时组件,并且是运行此应用程序所必需的”。
但是当您添加最后一步时,Eclipse不喜欢它:文件module-info.java。在这一点上,我不得不承认我对Eclipse“模块”一无所知:仅IDE的这一未知方面在过去偶尔使我感到沮丧。大概是时候阅读它了。
我还应该澄清一下,此时Gradle任务 $.ajax({
url: "../server/CustomMsg.php",
type: "POST",
data: form_data,
contentType: false,
cache: false,
processData:false,
async: true,
success: function(html) {
if (html == 1) {
$('#register_form').fadeOut('slow');
$('.loading').fadeOut();
$('.message').html('Successfully Sent ! ').fadeIn('slow');
} else
alert('Sorry, unexpected error. Please try again later.');
}
});
和build
(或installdist
)在CLI上可以正常工作。我只担心摆脱这些可怕的Eclipse的“红十字会”错误标记:
This answer表示要下载JavaFX-JDK,然后从中将各种.jar添加到项目的模块路径中。我做到了:可怕的错误都消失了!
下次我做assemble
时,他们都回来了。我检查了模块路径:所有这些.jar文件都已删除。如何停止Gradle-Eclipse功能与已配置的模块路径混淆?
编辑
是Slaw的评论:是的,已经在使用
Gradle - Refresh
...我的build.gradle javafx块如下所示:
id 'org.openjfx.javafxplugin' version '0.0.8'
(注意,我现在尝试通过在上面添加'javafx.graphics'和'javafx.base'来进行实验。)
问题是javafx {
version = "13"
modules = [ 'javafx.controls', 'javafx.fxml' ]
}
仍然会导致上述“消失的.jars”现象。
我尝试将其添加到我的插件块中:
Gradle - Refresh
...不行:id 'org.javamodularity.moduleplugin' version '1.6.0' apply true/false // NB tried both
导致(对我而言)无法理解的错误:
Gradle - Refresh