Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在8u171/172上使用javapackager创建的本机包包含更多文件_Java_Javapackager - Fatal编程技术网

在8u171/172上使用javapackager创建的本机包包含更多文件

在8u171/172上使用javapackager创建的本机包包含更多文件,java,javapackager,Java,Javapackager,我运行以下命令为.jar文件创建本机捆绑包: javapackager.exe-deploy-native image-srcfiles-appclass-outdir out-outfile test 使用Java 8u171/172,bundles/AppName/文件夹(包含用于启动Java应用程序的.exe和一些其他内容)包含以下DLL文件: api-ms-win-core-console-l1-1-0.dll api-ms-win-core-datetime-l1-1-0.dll ap

我运行以下命令为.jar文件创建本机捆绑包:

javapackager.exe-deploy-native image-srcfiles-appclass-outdir out-outfile test

使用Java 8u171/172,
bundles/AppName/
文件夹(包含用于启动Java应用程序的.exe和一些其他内容)包含以下DLL文件:

api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-crt-conio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-multibyte-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-process-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
msvcp140.dll
msvcr100.dll
packager.dll
ucrtbase.dll
vcruntime140.dll
其中大部分似乎也出现在
运行时/bin/
子文件夹中

与此相反,使用Java 8u161运行相同的javapackager命令只会导致包含以下DLL文件(同样,除了.exe和其他内容外):

我认为8u161实际上缺少msvcr100.dll(根据),但在其他方面似乎更合理

我真的需要bundle文件夹中的所有
api-ms-win-*
dll吗?请注意,它们仍然可以在
runtime/bin/
文件夹中供所包含的JRE使用,但不知何故,我无法想象它们对于AppName.exe的初始执行是必需的


我发现这似乎反映了这种变化。它修复了8u161中提到的问题,添加
api ms win-*
DLL似乎是故意的。我仍然不相信所有这些都是必需的,虽然我没有什么好的理由,除了它看起来很奇怪。没有它们,应用程序似乎运行良好,但我当然不能确定在任何情况下都会如此。

这是旧版本,但我认为其背后的原因是,从这个版本开始,
javapackager
似乎是Java 9+的后端口。这与下面仍然存在的问题相吻合,这似乎也会影响名为
jpackager
的后续应用程序。是的,它们似乎是必要的。
msvcp140.dll
packager.dll
vcruntime140.dll