2016-05-12 15 views
1

を開始し、私は次のような問題があります。launch4jとjdk8を含むラップされた.exeは、起動に非常に時間がかかります。 JDK7使用する代わりに、ほぼ瞬時に

私はかなりの時間がbundeled JDK/jre7を使用して、私のrunable瓶から包まれた実行可能ファイルを作成するためにlaunch4jの設定を持っていました。

Programm(その.exeで起動)は、ほぼ即座にjdk7で開始されます。 これでjdk8に切り替える必要がありました。その結果、起動が非常に遅くなりました。すべて問題なく動作しますが、その.exeの起動プロセスは1〜2分かかりますが、理由は分かりません。

(同じJDK8を使用して)E​​clipse内からアプリケーションを起動すると、もう一度数秒で起動します。

だから...何が原因なのか、どのように修正できるのでしょうか?ここで

は私の現在の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内から非常に速く開始する理由です。私は気づいた何か良い結果なしの長い研究の後

+0

バンドルされた(読み取り:コピーされた)JREを使用すると、共有クラスのデータアーカイブの使用が禁止されることがあります。 '-Xshare:on -XX:+ TraceClassPaths'オプションを追加して、そうであるかどうか確認してください。 – Holger

+0

私は家に帰るとすぐに試してみることができます、ヒントのおかげで。あなたは結果を更新し続けるでしょう! – Ulathar

+0

起動時にこれらの2つの追加パラメータを使用しても差はありません(jarおよび/またはexeの起動には30秒かかります)。 – Ulathar

答えて

0

、これは「ハングアップ」ということは、まだexcatlyこのことが、の原因をクリアしないJavaの8 &をlaunch4jに関連するが、log4jのとJava 8

とは関係ありません別の質問の話題です。

関連する問題