1

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でしか機能しません。

  1. cdcurrent_folder
  2. 実行しますjirb
  3. と を実行require 'java'require 'absolute/path/to/lib.jar'ます。
  4. lib.jar のクラスを使用します。

Windows の場合、dep.jar からクラスをロードできず、失敗します。

しかし、Windows の場合はフォルダーに移動すると、すべてが再び機能し始めますcdlib

それで、私は何を間違っていますか?Linux の場合と同じように、Windows でもすべてが機能するようにしたいと考えています。つまり、lib.jar のクラスパスをそのマニフェストに残しておきたいと思います。から使用するときに、すべての依存関係を明示的に指定したくありませんjirb

4

0 に答える 0