Skip to content

Commit

Permalink
spring-boot対応
Browse files Browse the repository at this point in the history
  • Loading branch information
seraphy committed Mar 16, 2019
2 parents b30e2a2 + d755f65 commit a891cfa
Show file tree
Hide file tree
Showing 11 changed files with 180 additions and 476 deletions.
37 changes: 22 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,10 @@

JavaFX8を使用しているため、Java8以降のランタイムが必要です。

リリースの種類
------------
(Linuxなど、OpenJDK系のJDK/JREを使うは愛は、JavaFX8のインストールも必須です。)

- ver1.4は、Java8がインストールされている環境では単一のjarとして実行できます。Java11には対応していません。(JavaFXを使用しているため)
- ver1.5は、Java8, Java11用にバイナリビルドが分かれています。
- Launch4jによるexeラッパーを用意してあり、Java8用はJava8のみ探索します。Java11用はJava11以降を探索します。
- Java8は各種ライブラリもひとまとめにした単一のexeファイルです。Java11ではexeは起動スタブであり、JavaFXをはじめとする各種ライブラリをlibフォルダに格納しています。
- いずれもexeのあるフォルダ下にjreフォルダがあれば、レジストリによる探索前に、そのjavaが使われます。
- Launch4jのヘッドをカスタマイズしており、JRE/JDKが発見できない場合はユーザーにJAVA_HOMEを問い合わせるフォルダ選択ダイアログが表示されます。
- https://github.com/seraphy/Launch4jHead
- jar形式を使いJava11環境で実行するには ```run11.bat``` からの実行が必要です。(jarファイルのダブルクリックでは開きません。また、java11のパスの設定が必要です。)
- jar形式(実行可能jar)をダブルクリックで実行するには、jarがJava8に関連づられていなければなりません。(Java11以降に関連づられている場合はJavaFXが利用できず起動できません。)
JavaFX11のランタイムを同梱しているので、Java11環境でも動作します。

ver1.4/1.5に機能的な差異はありません。

使い方
------
Expand Down Expand Up @@ -49,14 +39,31 @@ UTFの場合はBOMあり、BOMなしの区別があります。
Maven Wrapperを入れているため、Mavenをインストールしていない環境であれば、JAVA_HOME環境変数を設定して

```
./mvnw clean package -Pjava11
./mvnw clean package -Plaunch4j
```

のようにしてMavenの準備からビルドまでを一括して行うことができます。

Java8, Java11用は、それぞれプロファイルによってビルドを切り替えます。
(java8以降でコンパイルします。java8の場合、javafx8がインストール済みの環境でないとビルドできません)

プロジェクトはNetBeans8で作成されました。(現在はNetBeans10でメンテナンスしています)
Spring-BootのUberJarで依存jarを同梱する、単一のjarファイルが作成されます。

プロファイルで *launch4j* を指定した場合は、launch4jによるexeラッパーが作成されます。


### 備考

トリッキーですが、コンパイラバージョンはjava8をターゲットにしていますが、JavaFX11のランタイムを依存jarに含めています。

これにより、JRE/JDK上にJavaFX8がある環境ではJavaFX11のjarは単に無視され、JavaFX8として動作します。

JavaFXランタイムが存在しないJava11のJRE/JDKで実行する場合は、同梱しているJavaFX11のランタイムが有効になります。

ただし、Java8環境でJavaFX8がまだインストールされていない場合は、JavaFX11をロードしようとして*クラスバージョンの不一致*で起動できません。

プロジェクトはNetBeans8で作成されました。

現在はNetBeans10でメンテナンスしています。

FXMLファイルに編集には、SceneBuilder3を使用しています。

Expand Down
1 change: 0 additions & 1 deletion nb-configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,5 @@ Any value defined here will override the pom.xml file value but is only applicab
<netbeans.compile.on.save>none</netbeans.compile.on.save>
<netbeans.checkstyle.format>true</netbeans.checkstyle.format>
<org-netbeans-modules-javascript2-requirejs.enabled>false</org-netbeans-modules-javascript2-requirejs.enabled>
<netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
Loading

0 comments on commit a891cfa

Please sign in to comment.