0

2 つの単純なプログラムをマージしようとしています。1 つの .jar ファイルにしたいのですが、これが私が書いたコードです: (project1.jar と project2.exe は両方ともこの .jar にパッケージ化されています)

public class main
{
   public static void main(String[] args) 
   {
      try 
      {
         Runtime.getRuntime().exec("cmd /c project1.jar");
         Runtime.getRuntime().exec("cmd /c project2.exe");
      }  
      catch(Exception exce)
      { 
         /*handle exception*/
      }
   }
}

プロジェクトをEclipseで実行すると、すべてが正常に機能します(両方のファイルが実行されます)。しかし、このプロジェクトを .jar にエクスポートして実行すると、何も起こりません。Eclipseで実行すると正常に動作するため、ファイルパスと関係があると思います。これを修正する方法は?

4

1 に答える 1

0

これらの jar の両方を 3 番目の jar にパッケージ化する場合、これは機能しません。
「cmd...」でこれら 2 つの .jar ファイルを表示して使用するには、別の jar ファイル内にパッケージ化するのではなく、ディスク上に直接存在する必要があります。

これを解決するには:
- 3 つの jar ファイルを配布し、上記の「メイン」クラスを使用します。jar パスを正しくするには、「メイン」を微調整する必要がある場合があります。
または
- これらの 2 つの jar からクラスを解凍し、それらの .class ファイルを大きな jar に jar してから、「メイン」を変更して、.jar ファイルを参照するのではなく、正しいエントリポイント クラスをクラス化します。
または
- 他の誰かが言及したようにonejarを使用してください

于 2012-06-21T07:54:30.080 に答える