launch4j 生成的 exe 第一次启动缓慢

launch4j-generated exe starts slowly at first time

我们使用launch4j-maven-plugin生成exe,使用的是Java1.8。 jar 是用 onejar 生成的,因为它包含 jar 作为依赖项。 但是 jar 会立即启动,只有 exe 需要 30s - 1m 才能启动。 如果我在完全加载后关闭应用程序并重新启动,那么应用程序会立即启动。也许,因为jar的依赖已经加载了?!

我尝试使用 maven-shade-plugin 生成(仅用于检查),但启动时出现了同样的问题。此外,我尝试在调试器中启动应用程序,它也会立即启动。使用 --l4j-debug-all 启动 exe 不显示任何内容。

是否有可能加速?

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
            </plugin>

            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
            </plugin>

            <plugin>
                <groupId>com.jolira</groupId>
                <artifactId>onejar-maven-plugin</artifactId>
                <version>1.4.4</version>
                <executions>
                    <execution>
                        <configuration>
                            <mainClass>${mainclass}</mainClass>
                            <attachToBuild>true</attachToBuild>
                            <filename>${project.artifactId}-${project.version}-jar-with-dependencies.${project.packaging}</filename>
                        </configuration>
                        <goals>
                            <goal>one-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.akathist.maven.plugins.launch4j</groupId>
                <artifactId>launch4j-maven-plugin</artifactId>
                <version>1.7.25</version>
                <executions>
                    <execution>
                        <id>l4j-clui</id>
                        <phase>package</phase>
                        <goals>
                            <goal>launch4j</goal>
                        </goals>
                        <configuration>
                            <headerType>console</headerType>
                            <jar>${project.build.directory}/${project.artifactId}-${project.version}-jar-with-dependencies.${project.packaging}</jar>
                            <outfile>${project.build.directory}/App-${project.version}.exe</outfile>
                            <classPath>
                                <mainClass>com.simontuffs.onejar.Boot</mainClass>
                                <preCp>anything</preCp>
                            </classPath>
                            <jre>
                                <minVersion>1.8.0</minVersion>
                                <initialHeapSize>1024</initialHeapSize>
                                <maxHeapSize>1024</maxHeapSize>
                            </jre>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

就我而言,原因很简单:后台的 Live-Antivirus-Scan 减慢了速度。