jruby 1.7.4 で jar を要求しようとしていますが、Windows と Linux で異なる結果が得られます。私のフォルダレイアウトは次のとおりです。
/current_folder
|--/lib
|--lib.jar
|--dep.jar
lib.jar は dep.jar のいくつかのクラスを使用し、次のようなマニフェストを持っています。
Manifest-Version: 1.0
Main-Class: lib.Main
Class-Path: dep.jar
lib.jar に含まれるプログラムを で実行すると、Windows と Linux の両方ですべて正常に動作しjava -jar absolute/path/to/lib.jar
ます。
しかし、次のことを試してみると、Linuxでしか機能しません。
cd
にcurrent_folder
。- 実行します
jirb
。 - と を実行
require 'java'
しrequire 'absolute/path/to/lib.jar'
ます。 - lib.jar のクラスを使用します。
Windows の場合、dep.jar からクラスをロードできず、失敗します。
しかし、Windows の場合はフォルダーに移動すると、すべてが再び機能し始めますcd
。lib
それで、私は何を間違っていますか?Linux の場合と同じように、Windows でもすべてが機能するようにしたいと考えています。つまり、lib.jar のクラスパスをそのマニフェストに残しておきたいと思います。から使用するときに、すべての依存関係を明示的に指定したくありませんjirb
。