を開始し、私は次のような問題があります。launch4jとjdk8を含むラップされた.exeは、起動に非常に時間がかかります。 JDK7使用する代わりに、ほぼ瞬時に
私はかなりの時間がbundeled JDK/jre7を使用して、私のrunable瓶から包まれた実行可能ファイルを作成するためにlaunch4jの設定を持っていました。
Programm(その.exeで起動)は、ほぼ即座にjdk7で開始されます。 これでjdk8に切り替える必要がありました。その結果、起動が非常に遅くなりました。すべて問題なく動作しますが、その.exeの起動プロセスは1〜2分かかりますが、理由は分かりません。
(同じJDK8を使用して)Eclipse内からアプリケーションを起動すると、もう一度数秒で起動します。
だから...何が原因なのか、どのように修正できるのでしょうか?ここで
は私の現在のl4j.xmlです:
<?xml version="1.0" encoding="UTF-8"?>
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>C:\Users\user\workspace\DataUpdater\release\bin\DataUpdater-v2.6.1.jar</jar>
<outfile>C:\Users\user\workspace\DataUpdater\release\DataUpdater.exe</outfile>
<errTitle>DataUpdater: Kein kompatibles JRE gefunden</errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>high</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl>https://www.google.de/</supportUrl>
<stayAlive>true</stayAlive>
<restartOnCrash>false</restartOnCrash>
<manifest></manifest>
<icon>C:\Users\user\workspace\DataUpdater\res\icons\DataUpdater.ico</icon>
<singleInstance>
<mutexName>DataUpdater v2.6.1</mutexName>
<windowTitle>DataUpdater v2.6.1</windowTitle>
</singleInstance>
<jre>
<path>./bundeled/jre1.8.0_92</path>
<bundledJre64Bit>true</bundledJre64Bit>
<bundledJreAsFallback>false</bundledJreAsFallback>
<minVersion>1.8.0</minVersion>
<maxVersion>1.8.0_92</maxVersion>
<jdkPreference>jdkOnly</jdkPreference>
<runtimeBits>64</runtimeBits>
<initialHeapPercent>33</initialHeapPercent>
<maxHeapPercent>80</maxHeapPercent>
<opt>-Dfile.encoding=UTF-8</opt>
</jre>
<versionInfo>
<fileVersion>2.6.1.0</fileVersion>
<txtFileVersion>v2.6.1</txtFileVersion>
<fileDescription>DataUpdater: Anwendung zum aktualisieren von -Datensätzen mittels externer Datenquellen wie Excel-Tabellen direkt auf Datenbankebene.</fileDescription>
<copyright>Max Mustermann</copyright>
<productVersion>2.6.1.0</productVersion>
<txtProductVersion>v2.6.1</txtProductVersion>
<productName>DataUpdater</productName>
<companyName>Max Mustermann</companyName>
<internalName>DataUpdater v2.6.1</internalName>
<originalFilename>DataUpdater.exe</originalFilename>
</versionInfo>
<messages>
<startupErr>DataUpdater konnte nicht gestartet werden. </startupErr>
<bundledJreErr>DataUpdater erwartet ein bundled JRE. Dieses wurde nicht gefunden oder ist beschädigt.</bundledJreErr>
<jreVersionErr>DataUpdater benötigt eine Java Laufzeitumgebung. Diese konnte nicht gefunden werden.
Bitte stellen Sie sicher, dass Java 8 auf Ihrem System installiert ist.</jreVersionErr>
<launcherErr>Die Windows Registry verweist auf eine nicht mehr vorhandene oder beschädigte Java Installation.</launcherErr>
<instanceAlreadyExistsMsg>DataUpdater wird bereits ausgeführt.
Es ist immer nur eine DataUpdater-Instanz gleichzeitig erlaubt.</instanceAlreadyExistsMsg>
</messages>
</launch4jConfig>
編集: それは私のローカル環境に関連していないので、実行ファイルは、多くの異なるマシン上で同じように反応する...
追加情報: 私は気がつきました。実行可能ファイルの代わりに直接アプリケーションを起動すると、同じ起動が遅くなります。 これは何とかjdk8に関連していて、l4jには関係ありません。 私が理解していないのは、同じjdk8を使ってEclipse内から非常に速く開始する理由です。私は気づいた何か良い結果なしの長い研究の後
バンドルされた(読み取り:コピーされた)JREを使用すると、共有クラスのデータアーカイブの使用が禁止されることがあります。 '-Xshare:on -XX:+ TraceClassPaths'オプションを追加して、そうであるかどうか確認してください。 – Holger
私は家に帰るとすぐに試してみることができます、ヒントのおかげで。あなたは結果を更新し続けるでしょう! – Ulathar
起動時にこれらの2つの追加パラメータを使用しても差はありません(jarおよび/またはexeの起動には30秒かかります)。 – Ulathar