首页 > 解决方案 > 如何减小 jre 大小以与应用程序捆绑?

问题描述

我想减小 jre 的大小。我已经从 jre 中排除了一些文件,这些文件在下面给出。

bin\java.exe
bin\javaw.exe
bin\javaws.exe
bin\javacpl.exe
bin\jucheck.exe
bin\dtplugin
bin\jabswitch.exe
bin\java_crw_demo.dll
bin\JavaAccessBridge-32.dll
bin\JavaAccessBridge.dll
bin\JAWTAccessBridge-32.dll
bin\JAWTAccessBridge.dll
bin\WindowsAccessBridge-32.dll
bin\WindowsAccessBridge.dll
bin\wsdetect.dll
bin\dtplugin\*
bin\plugin2\*
bin\deploy.dll
bin\jfr.dll
bin\javacpl.cpl
lib\deploy.jar
lib\plugin.jar
lib\deploy\*
lib/jfxswt.jar
bin\decora-sse.dll
bin\fxplugins.dll
bin\glass.dll
bin\glib-lite.dll
bin\gstreamer-lite.dll
bin\javafx-font.dll
bin\javafx_font_t2k.dll
bin\javafx-iio.dll
bin\jfxmedia.dll
bin\jfxwebkit.dll
bin\prism_common.dll
bin\prism-d3d.dll
bin\prism_es2.dll
bin\prism_sw.dll

排除此文件后,它的大小为 107 mb。但是我需要为我的应用程序设置 60 mb 或 70 mb 的 jre 大小,我的应用程序的主要部分也在下面给出。

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;

公共静态无效主要(字符串[]参数){

    try {
        //LOGGER.info("Application started");
        Server server = new Server(8680);

        //LOGGER.info("Application started1");
        ServletHandler servletHandler = new ServletHandler();
        server.setHandler(servletHandler);

        //LOGGER.info("Application started2");
        servletHandler.addServletWithMapping(HelloServlet.class, "/");

        server.start();
        server.join();
    } catch (Exception ex) {

        LOGGER.info(" " + ex.getLocalizedMessage());
    }

}

默认 jre 大小为 170 mb。但是对于这个应用程序,我只需要 60 mb 或 70 mb 大小的 jre。现在我可以做些什么来使 jre 的大小为 60 mb 或 70 mb。

标签: javasizereduce

解决方案


如果您不使用 Javafx,那么删除“bin\jfxwebkit.dll”文件会有所帮助,因为它超过 50 MB。


推荐阅读