Java 1.8.0_144构建缺失MSVC DLL,如何获取该文件?
解决jfxNative任务报错"Not found MSVC dlls"的方法
这个报错我之前用JavaFX打包原生安装包时也踩过坑,本质是Gradle的jfxNative任务依赖微软Visual C++ Redistributable的DLL文件来完成打包流程,下面是几种实用的解决途径:
1. 安装对应版本的Visual C++ Redistributable
这是最稳妥的方案:
- Java 1.8.0_144对应的是Visual C++ 2010 Redistributable,请根据你的JDK位数(32位/64位)选择对应版本下载安装
- 安装完成后,所需的MSVC DLL会自动被放置到系统默认的DLL搜索目录,Gradle执行
jfxNative时就能正常找到它们
2. 手动复制DLL到指定目录
如果不想安装完整的Redistributable包,可以尝试这种方法:
- 找到需要的核心DLL文件(通常是
msvcr100.dll、msvcp100.dll这类,注意匹配JDK位数) - 将这些DLL复制到你的JDK安装目录下的
jre/bin文件夹,或者项目的build/resources/main目录,这样Gradle在打包时会自动加载它们
3. 配置Gradle JavaFX插件路径
你可以在build.gradle中显式指定Visual C++的安装路径,帮助Gradle定位DLL:
apply plugin: 'org.openjfx.javafxplugin' jfx { // 其他配置... visualCppDir = "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC" }
注意:路径要和你实际的Visual Studio 2010安装目录一致,如果没有安装VS2010,还是建议用第一种方法安装Redistributable
4. 检查系统与JDK位数匹配
确保你的JDK位数和Visual C++ Redistributable位数完全一致:
- 64位JDK必须搭配64位的VC Redistributable,32位同理,否则系统会找不到对应的DLL文件
内容的提问来源于stack exchange,提问作者Pablo Fernandez
相关产品推荐
相关产品推荐

