exe-генерируемый launch4j запускается медленно в первый раз - PullRequest
0 голосов
/ 17 января 2020

Мы используем launch4j-maven-plugin для генерации exe, используется Java 1.8. Jar генерируется с помощью onejar, потому что он содержит jar как зависимости. Однако банка запускается сразу, только exe нужно сначала 30 с - 1 м. Если после полной загрузки я закрываю приложение и перезагружаюсь, приложение запускается немедленно. Возможно, потому что зависимости jar уже загружены?!

Я попытался сгенерировать с помощью maven-shade-plugin (только для проверки), и такая же проблема с запуском происходит. Более того, я попытался запустить приложение в отладчике, и оно также запускается немедленно. Запуск exe с --l4j-debug-all ничего не показывает.

Есть ли возможность ускориться?

        <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>

1 Ответ

0 голосов
/ 22 января 2020

В моем случае, простая причина: Live-Antivirus-Scan в фоновом режиме замедлил его.

...