• R/O
  • SSH
  • HTTPS

exewrap: コミット一覧


RSS
Rev. 日時 作者
r98 2020-10-21 14:13:50 hirukawa_ryo

* exewrap-jetty 9.4.32
exewrap 1.6.4に変更しました。

r97 2020-09-18 10:43:54 hirukawa_ryo

* exewrap 1.6.4
JDK/JREのbinフォルダーを java.library.path に含めるようにしました。
1.6.2まではbinフォルダーを java.library.path に含めていましたが、1.6.3 で binフォルダーを java.library.path に含めないように変更していました。
この影響で binフォルダー内の prism_sw.dll など一部のライブラリがロードできず UnsatisfiedLinkError が発生していました。
JDK/JREのbinフォルダーを java.library.path に含めるよう実装を戻したことでこの問題が解消します。

r96 2020-09-14 15:42:42 hirukawa_ryo

* exewrap 1.6.3

r95 2020-09-14 13:47:30 hirukawa_ryo

* exewrap 1.6.3
-l オプションでJavaVMを検索する方法を指定できるようになりました。

r94 2020-09-14 11:48:15 hirukawa_ryo

* exewrap 1.6.3
-e SERVERVMを指定した場合にbin/server/jvm.dllを見つけられないバグを修正しました。

r93 2020-08-25 15:58:27 hirukawa_ryo

* exewrap 1.6.3
console/guiで拡張フラグSINGLEを指定した場合、Mutexの新規作成ではなく所有権の獲得で二重起動を制御するようにしました。

r92 2020-07-14 12:11:09 hirukawa_ryo

* exewrap-jetty 9.4.30
exewrap 1.6.2に変更しました。

r91 2020-07-14 10:50:01 hirukawa_ryo

* exewrap 1.6.2
JARマニフェストのClass-Path、exewrapのEXTDIRSの展開処理をC(jvm.c)ではなくJava(Loader.java)側で行うように変更しました。
C側で展開を行うとパス文字列が長くなり64KBのバッファサイズを超える可能性があったためです。

r90 2020-07-12 20:16:23 hirukawa_ryo

* exewrap 1.6.2
カスタムクラスローダーLoaderがURLClassLoaderを継承するように変更し、Loaderが外部ライブラリ(JAR)からのクラスロードも担当するように変更しました。
従来はLoaderはEXE内リソースからのクラスロードのみを担当し、外部ライブラリ(JAR)からのクラスロードは親クラスローダー(AppClassLoader)に任せていました。
クラスローダーがLoaderとAppClassLoaderの2つに分かれていると意図しない動作をするケースがあるための対処です。

たとえば、logbackはlogbackのクラスをロードしたクラスローダーからしか設定ファイルlogback.xmlリソースを検索しません。
このようなケースでlogbackのクラスがAppClassLoaderの担当する外部ライブラリ(JAR)からロードされ、設定ファイルlogback.xmlがLoaderの担当するEXE内リソースに存在すると
logbackのクラスが設定ファイルlogback.xmlを見つけることができませんでした。
今回の対処により外部ライブラリ(JAR)からのlogbackクラスもLoaderによってロードされるようになり、Loader担当のEXE内リソースlogback.xmlを見つけられるようになります。

r89 2020-07-12 11:41:59 hirukawa_ryo

* exewrap 1.6.1
実行ファイルのディレクトリーをカレントディレクトリーに設定する拡張フラグ CD_APPDIR を追加しました。
これにより、システムプロパティ― user.dir にも実行ファイルのディレクトリーが設定されるようになります。

r88 2020-05-18 21:53:06 hirukawa_ryo

* exewrap 1.6.0
サービスアプリケーションのメインクラスにmainメソッドを定義していなくても動作するようにしました。
サービスアプリケーションではstartメソッドとstopメソッドがエントリーポイントとなるためmainメソッドは必要ありませんが従来はmainメソッドが検出できないとエラーになっていました。

r87 2020-05-18 18:57:06 hirukawa_ryo

* exewrap 1.6.0
サービスアプリケーションで標準出力・標準エラー出力への書き込みがイベントログに記録される機能を廃止しました。
サービス実行時の標準出力・標準エラー出力への書き込みはGUIアプリケーションと同様にファイルに記録されます。この機能はNOLOG拡張フラグで無効になります。
サービス実行ではなくコンソールで通常プロセスとして実行した場合には標準出力・標準エラー出力への書き込みは既定の動作のままコンソールに出力されます。

r86 2020-05-18 12:52:24 hirukawa_ryo

* exewrap-jetty 9.4.28
exewrap 1.6.0pre2に変更しました。

r85 2020-05-16 12:09:09 hirukawa_ryo

* exewrap 1.6.0
Loader.initializeで例外がスローされた場合、例外メッセージを出力するようにしました。従来は「メインクラスのロードに失敗しました」としか表示されず原因を把握するのが困難でした。

r84 2020-05-15 10:01:04 hirukawa_ryo

* exewrap-jetty 9.4.28
exewrap 1.6.0preに変更しました。
Java11でJAXBを使うための設定をbuild.gradleに追加しました。詳細はREADME.MDに。

r83 2020-05-11 22:04:25 hirukawa_ryo

* exewrap 1.6.0

r82 2020-05-11 22:01:33 hirukawa_ryo

* exewrap 1.6.0
exewrap.c バージョン表示を固定文字列ではなく実行ファイルのバージョンから取得して表示するようにしました。

r81 2020-05-11 21:16:12 hirukawa_ryo

* exewrap 1.6.0
jvm.c urldecode関数のバッファーオーバーランを修正しました。

r80 2020-05-08 12:58:31 hirukawa_ryo

* exewrap 1.6.0
bindres.cをリファクタリングしました。
jdk-1.5.0_22に含まれていたdemoをソースコードツリーのetcにコピーしました。SwingSet2.jarが含まれています。

r79 2020-05-08 11:11:21 hirukawa_ryo

* exewrap 1.6.0
Unicodeビルドへ変更しました。これにともないソースコードが大きく刷新されています。
コンソールのコードページに合わせて自動的に出力文字コードが変わるようになりました。この機能はNOENCODINGFIX拡張フラグを指定することで無効にできます。
拡張子.jarの関連付けをレジストリから参照してJavaVMを検出できるようになりました。
GUIアプリケーション既定のアイコンをデューク君に変更しました。

r78 2020-04-13 16:14:55 hirukawa_ryo

* exewrap-jetty 9.4.28

r77 2020-03-31 14:26:42 hirukawa_ryo

(メッセージはありません)

r76 2020-03-31 14:21:59 hirukawa_ryo

* exewrap 1.5.1
バンドルJavaランタイムのjvm.dllよりもシステムディレクトリ(system32)のjvm.dllが優先的にロードされてしまう問題を解決するために、LoadLibrary関数の代わりにLOAD_LIBRARY_SEARCH_DEFAULT_DIRS(0x00001000)を指定してLoadLibraryEx関数を呼び出すようにしました。

r75 2019-12-08 14:29:50 hirukawa_ryo

* exewrap 1.5.0
Pack200機能を廃止しました。

r74 2019-12-08 14:01:09 hirukawa_ryo

* exewrap 1.4.3
PATH環境変数のパス群をAddDllDirectory関数でDLLパスとして追加するようにしました。

r73 2019-12-06 22:14:03 hirukawa_ryo

* exewrap 1.4.3
FileLogStreamのopen/writeで例外が発生しても抑制するようにしました。
FileLogStreamでアプリケーションディレクトリにログを出力できない場合、java.io.tmpdirシステムプロパティの場所にログを出力するようにしました。
通常、この場所はTMP環境変数と同じ場所 C:\Users\username\AppData\Local\Temp 等になります。
CONTEXT_PATHをURLエンコードするようにしました。JavaFXのCSSやフォント指定の読み取りでパスに半角スペース等が含まれているとエラーになる問題を回避することを目的としています。

r72 2019-09-09 19:26:29 hirukawa_ryo

* exewrap 1.4.2

r71 2019-09-08 14:45:34 hirukawa_ryo

* exewrap 1.4.2
プロセス開始時間を保持するシステムプロパティjava.application.startupを協定世界時(UTC)に変更しました。

r70 2019-09-07 11:54:46 hirukawa_ryo

* exewrap 1.4.2
UWP対応時のSetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS)追加の影響で依存DLLのロードに失敗するバグを修正しました。

r69 2019-09-01 15:30:58 hirukawa_ryo

* exewrap 1.4.2pre
実行ファイルの作成に失敗した場合、実行ファイル(EXE)を削除するようにしました。
これまでは実行ファイルの削除処理がなかったため、なんらかのエラーが発生した場合、中途半端な壊れた実行ファイル(EXE)が残ってしまっていました。

旧リポジトリブラウザで表示