2015-11-16 6 views
5

シンプルなJavaFXアプリケーションの実行に問題があります。私はexeをビルドするためにネイティブパッケージャを使用しています。 OK」英語以外の引数でバンドルされたJavaFXアプリケーションが実行される "JVMを起動できませんでした"

1)enter image description here、クリック後:私は、Windowsファイルのコンテキストメニューから、自分のアプリケーションを実行したいが、私はのparamsでアプリケーションを実行しようとすると:

> JavaFXApplication1.exe ąęć 

と私は2つのエラーを取得しています「:

2)enter image description here

私はjarファイルとしてアプリケーションを実行します。

> java -jar JavaFXApplication1.jar ąęć 

アプリケーションは正常に開始され、うまくいきます。また

、私は、このコマンドからアプリケーションを実行します。

> JavaFXApplication1.exe aec 

すべてがOKとアプリケーションの作業罰金です。

例のアプリケーション・コードは:

package test; 

import javafx.application.Application; 
import javafx.stage.Stage; 

public class Test extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     System.out.println("Started"); 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     System.out.println("Args count: " + args.length); 
     launch(args); 
    } 
} 

は無視し、そのアプリケーションは終了しません。

私はここで説明したように、まったく同じ問題だと思う:https://bugs.openjdk.java.net/browse/JDK-8133034

誰かがこれを解決しましたか?または、この問題の回避策を知っている人がいますか? 1.8.40から1.8.72までのJavaバージョンを試しましたが、各JVMで失敗しました。私は2つの異なるマシン(およびオペレーティングシステム)でテストしたので、環境上の問題でもありません。

私は助けていただきありがとうございます。

+0

JVMロケールの設定を試しましたか? http://stackoverflow.com/questions/8809098/how-do-i-set-the-default-locale-for-my-jvm – Leonardo

+0

はい。それはまた失敗している。 – Krzysiek

答えて

0

Jiraの問題は、JDKバージョン8u40b06を開始した回帰であるというコメントに言及しています。可能であれば、古いものを使用することをお勧めします。 8u40b05を試してください。

現時点では、アプリケーションの実際の引数を読み取るために、すべてのコマンド引数をファイル(ASCII文字で指定)に格納し、ファイルの場所を引数として渡すことができます。

別の回避策(最後の手段?)は、エスケープされたUnicodeとして文字を渡すことです。 Convert escaped Unicode character back to actual characterを参照してください。確かにそれは醜く退屈なことです。

+0

JDK 8u40b05を見つけるのは本当に難しいです...私はJDKの最新ベータ版を試しましたが、まだ問題は残っています... 回避策について考えても問題ありませんが、コンテキストメニューからどうすればいいですか?私はアプリがこの引数で実行されないため、エスケープされたUnicodeに変換するためにJavaFXアプリの非英語文字に直接渡すことはできません。 – Krzysiek

+0

Seccondオプション "ファイルへのコマンドの保存"は、単一のコマンドで達成するのは難しいです。 Windowsのファイルコンテキストメニューでは、Windows reqistryに追加するコマンドを1つだけ実行できます。それで、あるコマンドで引数をファイルに渡し、ファイルを保存してこのファイルをパラメータとしてアプリケーションを実行する方法...そして、このファイルを保存できる場所は、実際のフォルダからアプリケーションを実行するときに、実際のパスには英語以外の文字。 – Krzysiek

関連する問題