簡體   English   中英

在Java的JSmooth中捆綁JRE的問題

[英]Problem in Bundling JRE in JSmooth in Java

朋友,我正在使用JSMOOTH安裝程序來創建.exe文件,並在其中捆綁了我的默認JRE路徑。

如果用戶的系統中沒有Java虛擬機,則必須在我的.exe文件中使用捆綁的JRE。

但是我嘗試使用所有框架選項重定向到下載頁面,但未使用捆綁的JRE。

共有5個框架1.Win服務2.自動下載包裝3.控制台包裝4.窗口包裝5.自定義Web下載包裝

我的問題是:

1.從這五個選項中,我必須選擇一個選項,以便如果用戶不是JVM,則使用我捆綁的JRE。

我收到的錯誤如下:

  1. 如果我使用1.自動下載包裝作為我的骨架 這個 在此處輸入圖片說明

  2. 如果我使用CustomWeb下載程序作為我的骨架, 這個

3.如果我使用窗口包裝器作為我的骨架控制台 這個

  1. 如果我使用控制台包裝作為骨架,我會得到 這個

我想要的是,如果用戶系統中沒有JVM,則必須使用捆綁的JRE,而不是要求下載JAVA。

我參考了手冊,但仍然無法到達目的地。

我的JSmooth屏幕是 JVM屏幕

可執行畫面

應用畫面

我的桌面上的Test文件夾中有我的JAR文件,里面還有JRE文件夾。

我試圖通過將JRE保持在.exe和默認路徑附近來進行嘗試。但是,它始終引用默認Java路徑的Jre...。

我遇到了同樣的問題。 根據以太坊中的其他提示,我認為問題與win32 / win64有關,特別是bundle選項僅適用於win32 jre。 我接通了win32 jre並走得更遠,但由於未安裝某些必需的.dll,啟動仍然失敗。 如果沒有專門設計的不需要安裝的jre,bundle選項似乎就不可靠。

然后,我找到了https://portableapps.com/apps/utilities/java_portable,並成功使用了該jre。 它是Java 1.8.0_181,它有點舊,但足以滿足我的需求。

我對JSmooth Java啟動器創建者不熟悉。 但是,基於Launch4J Java啟動程序創建者,您應將目標JRE文件夾(完整的目標JRE的所有文件夾和子文件夾)包括在應用程序啟動程序包中。 必須從可以找到JRE文件夾的基本文件夾中運行Launch4J。 例如,如果您有一個項目啟動器路徑,例如“ C:\\ MYProject \\ install”,則在其中編譯所有類路徑依賴文件以使用“ C:\\ MyProject \\ install \\ jre1.6.0_26”運行啟動器EXE文件。里面的JRE文件夾。 您的JVM捆綁軟件條目應為“ jre1.6.0_26”。 Launch4J EXE啟動器文件應能夠從“ C:\\ MYProject \\ install”的基礎中找到相對的“ jre1.6.0_26”文件夾

將其轉換為您的EXE啟動器文件在嘗試運行時將執行的操作:

C:\C:\MYProject\install
 |__MyApp.EXE (your resulting output launcher file)
 |__all classpath dependency jars needed by MyApp.EXE
 |__jre1.6.0_26 (folder of JVM bundle)

Launch4J腳本的Ant任務:

<exec executable="C:\Program Files\Launch4j\launch4jc.exe">
    <arg value="${basedir}\myLaunch4j.xml"/>
</exec>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM