Eclipseプラグインで開発中です。プラグイン内からexeファイルを実行する必要があります。このため 、私は、Javaコードを使用しています:Eclipseプラグインからexeファイルを実行する
p
はプロセスである
p = Runtime.getRuntime().exec(command);
。これは正常に動作します。
しかし、プラグインがデプロイされているとき(私の開発環境で「eclipseアプリケーションを実行しているとき」)、プラグインは、Eclipseが存在するフォルダ内のexeファイルを探していますeclipse.exeファイル)。私はそこにexeファイルを置いてはいけません。
私は、プラグイン・ジャー(またはそのようなリソース・ファイルがある他のフォルダ)の中にそれを入れて、exec
コマンドがそれを見つけることを望みます。マイナーな追加:実行するには、私のexeファイルは、私はexeと同じディレクトリに置くdllが必要です。だから、それがプラグインから実行されるとき、exeはこのdllを見つけることができる必要があります。
どうすればよいですか?
ありがとうTom。 2つのフォローアップの質問:(1)「my.bundle.id」が何であるかを知るにはどうすればよいですか? (2)私の機能はいくつかのプラグインプロジェクトで構成されています。 jarやその他のものをフォルダとして展開できますか? exeとdllを別々のプラグインプロジェクトに入れて、このプラグインのみをフォルダとしてデプロイするのがベストでしょうか? – user990371
1: 'META-INF/MANIFEST.MF'を見てください。バンドルIDは' Bundle-SymbolicName'です。 –
2:はい。バンドルをフォルダとして展開するには、バンドルクラスのパスにjarファイルを追加する必要があります。たとえば、 'Bundle-ClassPath:myplugin.jar'、' build.properites'は次のようになります: 'bin.includes = META-INF/、\ myplugin.jar、 about.html \、\ OSGI-INF/ source.myplugin.jar = SRC/ src.includes = ' –