2017-07-04 55 views
0

在Windows上:我使用IntelliJ創建了一個使用ant的構建,並且從名爲「š」的文件夾運行時不會運行任何內容。當我直接運行的jar一切正常。fx:使用nativeBundles = image部署不允許我從包含特殊字符的文件夾運行可執行文件

在mac上:可執行.app構建可以運行,但System.getProperty(「user.dir」)返回路徑錯誤(特殊字符錯誤),再次如果jar直接運行,路徑是正常的。

<fx:application id="SId" name="s" mainClass="packageName"/> 
     <fx:jar destfile="${artifact.temp.output.mainJar}/S.jar"> 
     <fx:application refid="SId"/> 
     <fileset dir="${artifact.temp.output.mainJar}" excludes="**/*.jar"/> 
     <fx:resources> 
      <fx:fileset dir="${artifact.temp.output.mainJar}" includes="**/*.jar" /> 
     </fx:resources> 
     <fx:platform javafx="2.1+"> 
      <fx:property name="file.encoding" value="UTF-8"/> 
     </fx:platform> 
    <manifest/> 
    </fx:jar> 

    <fx:deploy width="600" height="400" updatemode="background" outdir="${artifact.temp.output.mainJar}/deploy" outfile="S" nativeBundles="image"> 
     <fx:application refid="SId"/> 
     <fx:resources> 
      <fx:fileset dir="${artifact.temp.output.mainJar}" includes="**/*.jar"/> 
     </fx:resources> 
     <fx:info> 
     <fx:icon href="${basedir}/build_scripts/${iconFileName}" /> 
     </fx:info> 
     <fx:platform javafx="2.1+"> 
      <fx:property name="file.encoding" value="UTF-8"/> 
     </fx:platform> 
    </fx:deploy> 

回答

1

這是一個已知的問題,它已經報道了一個JDK。

JDK-8133034 launcher crashes if started with non english arguments

JDK-8138642 Generated bundle is not executable when main class contains unicode

由於這是與本地的可執行文件的一個普遍問題,而這兩個問題是開放式的,長期(因爲它涉及到C++和Unicode的問題),不存在用於快速解決方案這個。

有趣的部分:我今天在javafx-maven-plugin項目中檢查了一下這個問題 - 清理:https://github.com/javafx-maven-plugin/javafx-maven-plugin/issues/209

相關問題