我已经下载了Java 8 Runtime Environment的a portable version,我打算用我的Java应用程序发送它。
但是,完整的JRE是179 MB,我想稍微缩小它。
我可以从我的JRE发行版中排除一些文件,但它仍然可以正常运行吗?
注意:我要求提供技术答案,而不是法律建议。此外,这是一个自我回答。
答案 0 :(得分:1)
是。根据Java 8 README,可以删除某些文件夹和文件。
对于初学者,可以移除bin/
和lib/
之外的所有内容。
之后,以下文件夹可以删除批发:
bin/dtplugin/
bin/plugin2/
lib/deploy/
lib/desktop/
lib/ext/
lib/jfr/
lib/oblique-fonts/
在Windows上,可以剪切以下文件:
bin/deploy.dll
bin/jabswitch.exe
bin/java_crw_demo.dll
bin/JavaAccessBridge-32.dll
bin/JavaAccessBridge-64.dll
bin/javacpl.cpl
bin/javacpl.exe
bin/javaws.exe
bin/JAWTAccessBridge-32.dll
bin/JAWTAccessBridge-64.dll
bin/jfr.dll
bin/jucheck.exe
bin/keytool.exe
bin/kinit.exe
bin/klist.exe
bin/ktab.exe
bin/orbd.exe
bin/policytool.exe
bin/rmid.dll
bin/rmid.exe
bin/rmiregistry.exe
bin/servertool.exe
bin/tnameserv.exe
bin/WindowsAccessBridge-32.dll
bin/WindowsAccessBridge.dll
bin/wsdetect.dll
如果您直接链接到JVM或使用自定义启动器,you can cut these files:
bin/java.exe
bin/javaw.exe
在Linux上:
bin/javaws
bin/keytool
bin/orbd
bin/policytool
bin/rmid
bin/rmiregistry
bin/servertool
bin/tnameserv
在所有平台上:
lib/deploy.jar
lib/jfr.jar
lib/plugin.jar
lib/security/cacerts
在Windows上:
bin/decora-sse.dll
bin/fxplugins.dll
bin/glass.dll
bin/glib-lite.dll
bin/gstreamer-lite.dll
bin/javafx_font_t2k.dll
bin/javafx-font.dll
bin/javafx-iio.dll
bin/jfxmedia.dll
bin/jfxwebkit.dll
bin/prism_common.dll
bin/prism_es2.dll
bin/prism_sw.dll
bin/prism-d3d.dll
在macOS上:
lib/fxplugins.dylib
lib/libdecora_sse.so
lib/libdecora-sse.dylib
lib/libfxplugins.so
lib/libglass.dylib
lib/libglib-lite.dylib
lib/libgstreamer-lite.dylib
lib/libjavafx_font_t2k.dylib
lib/libjavafx-font.dylib
lib/libjavafx-iio.dylib
lib/libjfxmedia.dylib
lib/libjfxwebkit.dylib
lib/libprism_common.dylib
lib/libprism_sw.dylib
lib/libprism-es2.dylib
在Linux上:
lib/amd64/libdecora_sse.so
lib/amd64/libfxplugins.so
lib/amd64/libglass.so
lib/amd64/libgstreamer-lite.so
lib/amd64/libjavafx_font_freetype.so
lib/amd64/libjavafx_font_pango.so
lib/amd64/libjavafx_font_t2k.so
lib/amd64/libjavafx-font.so
lib/amd64/libjavafx-iio.so
lib/amd64/libjfxmedia.so
lib/amd64/libjfxwebkit.so
lib/amd64/libprism_common.so
lib/amd64/libprism_es2.so
lib/amd64/libprism_sw.so
lib/amd64/libprism-es2.so
lib/i386/libdecora_sse.so
lib/i386/libfxplugins.so
lib/i386/libglass.so
lib/i386/libgstreamer-lite.so
lib/i386/libjavafx_font_freetype.so
lib/i386/libjavafx_font_pango.so
lib/i386/libjavafx_font_t2k.so
lib/i386/libjavafx-font.so
lib/i386/libjavafx-iio.so
lib/i386/libjfxmedia.so
lib/i386/libjfxwebkit.so
lib/i386/libprism_common.so
lib/i386/libprism_es2.so
lib/i386/libprism_sw.so
在所有平台上:
lib/ant-javafx.jar
lib/javafx.properties
lib/jfxswt.jar
THIRDPARTYLICENSEREADME-JAVAFX.txt
在64位JRE 8u131 for Windows的副本上,删除这些文件会将JRE目录从 179 MB 减少到 98 MB ,减少 45%即可。结果仍然能够加载Java应用程序,包括所有Swing Component demos。