2011-05-10 31 views
0

私はactualy 2つの問題JARクラスパスおよび外部のjarファイル

私は日食使用を持っている - >輸出プロジェクトは、私のシンプルなデスクトップ(GUI)それはjarファイルとAntスクリプトを生成
プログラムのjarファイルを生成します。

最初の問題: 生成されたjarは、ダブルクリックすると正常に動作します。
生成されたantスクリプトを使用してjarを生成すると、
自分では動作しません。 (すべての依存関係が満たされていると仮定して)このようなターゲットと間違っている可能性が何

<target name="create_run_jar"> 
     <jar destfile="G:/dev/myproj/myproj.jar"> 
      <manifest> 
       <attribute name="Main-Class" value="view.myproj"/> 
       <attribute name="Class-Path" value=". myproj_lib/grouplayout.jar"/> 
      </manifest> 
      <fileset dir="G:/dev/myproj/bin"/> 
     </jar> 
     <delete dir="G:/dev/myproj/myproj_lib"/> 
     <mkdir dir="G:/dev/myproj/myproj_lib"/> 
     <copy file="G:/dev/.metadata/.plugins/org.dyno.visual.swing/layoutext/grouplayout.jar" todir="G:/dev/myproj/myproj"/> 
    </target> 

// nevemind
//第二の問題:
//私は自動生成をダブルクリックしたときにjarファイルは、プログラムが起動して正常に動作します。
//私がコマンドラインからjava myjarを実行すると、メインクラスが例外を見つけられなくなります。
//変ですね?

+3

エラーが発生しましたか?そして問題2、使用している正確なjavaコマンドは何ですか? java -jarを使用していますか? –

+0

くそー!私はとても愚かだと感じる! を忘れましたが、最初の問題は残っています 自動生成されたantスクリプト から自己生成したjarがクリックに反応しません。何も起こりません。 – Paul

+0

Antスクリプトを実行すると、どのようなエラーメッセージが表示されますか? – Welshboy

答えて

1

jarコマンドを使ってJARファイルを作成し、それらを一時ディレクトリに展開し、再帰モードでdiffを使用してそれらを比較することをお勧めします。

しかし、私は@Paceが問題を指摘していると考えています。つまり、Class-Pathマニフェストエントリ内の相対パスを使用しているため、問題が発生する可能性があります。

0

java -jar <jar name>は、jarを実行する適切な方法です。

0

antターゲットは、classpath属性を持つマニフェストを作成しています。これらのパスを見ると、それらが現在のディレクトリに相対的であることがわかります。コマンドラインからjava -jarを実行すると、次のようになります。

G:/dev/myproj 

...ディレクトリ?

関連する問題