Tôi đã tạo một ứng dụng JavaFX và tạo gói gốc bằng cách sử dụng Ant. Khi tôi đang cố gắng để khởi động ứng dụng bằng cách sử dụng Jar từ bó tạo ra với nhấp đúp chuột, nó khởi chạy thành công ứng dụng của tôi. Nhưng khi tôi đang cố gắng nhấp đúp vào MyApplication.exe (nói), nó ném Lỗi JavaFX Launcher "Ngoại lệ trong khi chạy Ứng dụng".Không thể khởi chạy ứng dụng JavaFX với gói gốc exe
Tôi đã so sánh cả jre, có nhiều tệp jar, exe, dll và một số thuộc tính bị thiếu mà tôi tìm thấy.
tôi có các thiết lập môi trường -
JAVA_HOME -- C:\Program Files\Java\jdk1.7.0_10
JREFX_HOME -- C:\Program Files\Oracle\JavaFX 2.2 Runtime
Path contains an entry of C:\Program Files\Java\jdk1.7.0_10\bin
JAVA_HOME và JREFX_HOME được sử dụng như trong build.xml của tôi để lấy kiến-javafx.jar và jfxrt.jar -
${env.JAVA_HOME}/lib/ant-javafx.jar
${env.JREFX_HOME}/lib/jfxrt.jar
bước của tôi để tạo nhóm là -
<target name="CreatingExe" depends="SignedJar">
<fx:deploy width="800" height="600" nativeBundles="all" outdir="${OutputPath}" outfile="${app.name}">
<fx:info title="${app.title}"/>
<fx:application name="${app.title}" mainClass="${main.class}"/>
<fx:resources>
<fx:fileset dir="${OutputPath}" includes="*.jar"/>
<fx:fileset dir="${WorkingFolder}/temp"/>
</fx:resources>
</fx:deploy>
</target>
Điều gì cần thiết trong tệp build.xml để ứng dụng khởi chạy đúng với exe ?
Cảm ơn
jdk7u10 bao gồm tất cả các công cụ phát triển và chạy javafx tất cả, vì vậy bạn không nên nguồn hoặc sử dụng các bit javafx bên ngoài thư mục jdk - tức là không sử dụng bất kỳ thứ gì từ 'C: \ Program Files \ Oracle \ JavaFX 2.2 Runtime'. – jewelsea
@jewelsea chúng tôi đã cập nhật đường dẫn của mình để lấy jfxrt.jar là - $ {env.JAVA_HOME} /jre/lib/jfxrt.jar, không có gì thay đổi !! Làm thế nào tôi có thể sao chép thư mục jre hoàn chỉnh trong khi tạo bó vào thư mục "bundles \ MyApplication \ runtime \ jre". –
Người ta nói rằng "Chỉ một tập hợp con của Java Runtime được bao gồm theo mặc định. Một số tệp tùy chọn và hiếm khi được sử dụng sẽ bị loại trừ để giảm kích thước gói, chẳng hạn như tất cả các tệp thực thi. để sao chép nó dưới dạng bước hậu xử lý. Đối với các gói có thể cài đặt, bạn có thể thực hiện việc này từ tập lệnh cấu hình được thực hiện sau khi điền thư mục ứng dụng độc lập. " Nhưng làm thế nào? Tôi không có ý tưởng. –