0

私はlaunch4j-mavenプラグインによって2つのJavaソフトウェアをexeでビルドしています。両方のpom.xmlのplugins-partsは同じです(アプリ名を除く)。
ひどく最初のexeを起動すると、lauch4jが正しく実行されます。myapps.exeが実行されているのがわかり、ログにコピーが表示されます。

Using 64-bit runtime.  
Check launcher: C:\Program Files\Java\jre7\bin\javaw.exe (OK)  
Copy:       C:\Program Files\Java\jre7\bin\javaw.exe -> C:\Program          Files\Java\jre7\launch4j-tmp\NumSyncManager.exe  
Heap -Xms:  5 MB / 0%, Free: 892 MB, Heap size: 5 MB  
Heap -Xmx:  15 MB / 0%, Free: 892 MB, Heap size: 15 MB  
...  
Launcher:   C:\Program Files\Java\jre7\launch4j-tmp\NumSyncManager.exe  
Launcher args:  -Xms5m -Xmx15m -classpath "C:\Program iles\..."   
Args length:    474/32768 chars  
Exit code:  0  

しかし、2つ目を起動すると、myapps2.exeではなくjavaw.exeが表示され、ログにランチャーがコピーされていないことがはっきりとわかります。

Using 64-bit runtime.  
Check launcher: C:\Program Files\Java\jre7\bin\javaw.exe (OK)  
Heap -Xms:  10 MB / 0%, Free: 951 MB, Heap size: 10 MB  
Heap -Xmx:  500 MB / 0%, Free: 951 MB, Heap size: 500 MB  
...  
Launcher:   C:\Program Files\Java\jre7\bin\javaw.exe  
Launcher args:  -Xms10m -Xmx500m -classpath "C:\Program..."  
Args length:    817/32768 chars  
Exit code:  0  

ここで動作しているアプリのxmlファイル:

                    <configuration>
                        <headerType>gui</headerType>
                        <outfile>target/${winName}.exe</outfile>
                        <jar>target/${artifactId}-${version}-jar-with-dependencies.jar</jar> <!-- 'shaded' is the value set on shadedClassifierName above -->
                        <errTitle>Erreur lors du lancement du logiciel</errTitle>
                        <classPath>
                            <mainClass>fr.core.BootStrap</mainClass>
                        </classPath>
                        <singleInstance>
                            <mutexName>${winName}</mutexName>
                            <windowTitle>${winName}</windowTitle>
                        </singleInstance>
                        <jre>
                            <minVersion>1.6.0</minVersion>
                            <initialHeapSize>50</initialHeapSize>
                            <maxHeapSize>100</maxHeapSize>
                        </jre>
                        <versionInfo>
                            <fileVersion>${version}.0</fileVersion>
                            <txtFileVersion>${version}.0</txtFileVersion>
                            <fileDescription>Tool Manager</fileDescription>
                            <copyright>C</copyright>
                            <productVersion>${version}.0</productVersion>
                            <txtProductVersion>${version}.0</txtProductVersion>
                            <productName>${winName}</productName>
                            <internalName>${winName}</internalName>
                            <originalFilename>${winName}.exe</originalFilename>
                        </versionInfo>
                    </configuration>

そして、これが機能していないアプリのxmlです

                       <headerType>gui</headerType>
                        <outfile>target/${winName}.exe</outfile>
                        <jar>target/${artifactId}-${version}-jar-with-dependencies.jar</jar> <!-- 'shaded' is the value set on shadedClassifierName above -->
                        <errTitle>Erreur lors du lancement du logiciel</errTitle>
                        <classPath>  
                          <mainClass>fr.boot.BootStrap</mainClass>
                        </classPath>
                        <singleInstance>
                            <mutexName>${winName}</mutexName>
                            <windowTitle>${winName}</windowTitle>
                        </singleInstance>
                        <dontWrapJar>false</dontWrapJar>
                        <customProcName>false</customProcName>
                        <jre>
                            <minVersion>1.6.0</minVersion>
                            <initialHeapSize>10</initialHeapSize>
                            <maxHeapSize>500</maxHeapSize>
                        </jre>
                        <versionInfo>
                            <fileVersion>${winVersion}.0</fileVersion>
                            <txtFileVersion>${winVersion}.0</txtFileVersion>
                            <fileDescription>Tool</fileDescription>
                            <copyright>c</copyright>
                            <productVersion>${winVersion}.0</productVersion>
                            <txtProductVersion>${winVersion}.0</txtProductVersion>
                            <productName>${winName}</productName>
                            <internalName>${winName}</internalName>
                            <originalFilename>${winName}.exe</originalFilename>
                        </versionInfo>
                    </configuration>

同じWindowsアカウントを使用して起動しますが、権利の問題はありません。だから私はこれを解決する方法がわかりません。

mavenプラグインの代わりにLaunch4j.exeを使用しようとしましたが、これが構成のエクスポートです。それでも機能しません:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>C:\apps-0.0.1-jar-with-dependencies.jar</jar>
  <outfile>C:\apps.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir></chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <customProcName>false</customProcName>
  <stayAlive>false</stayAlive>
  <manifest></manifest>
  <icon></icon>
  <singleInstance>
    <mutexName>apps</mutexName>
    <windowTitle>apps</windowTitle>
  </singleInstance>
  <classPath>
    <mainClass>fr.core.BootStrap</mainClass>
    <cp>fr.core.BootStrap</cp>
  </classPath>
  <jre>
    <path></path>
    <minVersion>1.6.0</minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>preferJre</jdkPreference>
    <opt>-Denv.java.home=&quot;%JAVA_HOME%&quot;</opt>
  </jre>
  <versionInfo>
    <fileVersion>1.0.0.0</fileVersion>
    <txtFileVersion>1.0.0.0</txtFileVersion>
    <fileDescription>desc</fileDescription>
    <copyright>e</copyright>
    <productVersion>1.0.0.0</productVersion>
    <txtProductVersion>1.0.0.0</txtProductVersion>
    <productName>apps.exe</productName>
    <companyName>appsComp</companyName>
    <internalName>apps</internalName>
    <originalFilename>apps.exe</originalFilename>
  </versionInfo>
</launch4jConfig>

ありがとう

4

2 に答える 2

0

launch4Jでカスタムプロセス名を使用してアプリを起動するには、構成ファイルを作成する必要があります

<customProcName>true</customProcName>

動作していないアプリ構成では、このパラメーターはfalseです。最初に変更してみてください。

于 2012-08-09T18:22:02.727 に答える
0

Mavenの部分についてはコメントできませんが、AntでLaunch4jを使用することに成功しました。実行可能ファイルをビルドするときにlaunch4jに渡されるXMLファイルを見てください。ほとんどの場合、2番目のものはdontWrapJar=trueを指定します。

または、Launch4j GUIにXMLをロードし、[JARをラップしない]チェックボックスがオフになっていることを確認します

于 2012-08-03T16:49:27.040 に答える