2012-03-12 18 views
0

私のJavaプログラムはWindowsマシンで書かれており、Ubuntu 10.04マシンにインストールして実行しようとしています。 myProgram.jarを含む.tar.gzファイルと、libフォルダの5つのサポートライブラリ.jarファイルを作成しました。これらのファイルはどこに置くのですか? Linuxマシンでusr/binフォルダに展開する必要がありますか?シェルスクリプトはtar.gzの中に入りますか?私が読んだことは、Windowsマシンにシェルスクリプトを書くと、それをLinuxマシンに移動すると問題が発生する可能性があるので、geditを使ってLinuxマシンにシェルスクリプトを書いています。私は次に何をすべきか分かりません。 は、これまでのところ私のスクリプトでは、私はUbuntu 10.04のシェルスクリプトからJavaアプリケーションを実行しようとしています

#!/bin/bash 
java -jar myProgram.jar 

は、私が試してみて、USR/binディレクトリにtar.gzファイルを抽出し、それが実行されるかどうかを確認しようと思って、持っています。 ご意見やご協力をいただければ幸いです。 ありがとうございます。 Ray

答えて

0

あなたの質問はかなり「広い」です:)。次のような便利な点があることを願っています。

ファイルを/ usr/binに解凍しないでください。例えば、 http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standardは* nixシステムにファイルを置かない場所と場所です。

  1. /opt/yourProgram/*
  2. シェルスクリプトもそこにあるはずです。その実行ファイルが(つまり、chmod 755 script.sh)
  3. を呼び出す前に、シェルスクリプトでcd /opt/yourProgramにプログラムの適切な作業ディレクトリを追加してください。
  4. このプログラムを誰もが簡単に開始できるようにするには、シンボリックリンク/usr/bin以上、/usr/local/binで作成してください。他のすべてが動いてから最後のステップとしてこれを行います。

シェルスクリプトでは、クラスパスに他のjarファイルを追加する必要があります。

java -cp lib/some.jar:lib/other.jar -jar myProgram.jar

または

java -cp lib/some.jar:lib/other.jar:myProgram.jar com.acme.ClassContainingMain

推奨プラクティス:あなたはすでにWindowsを使用してシェルスクリプトを編集するために、有害とみなされます述べたように、スクリプト

の先頭にset -eを追加編集者。その理由は、ウィンドウエディタが改行(つまり、Returnキーを押す)を別々にエンコードするからです。これはbash pukeを作成します:)

+0

Martinに感謝します。これは間違いなく私を正しい方向に向かわせました。もし私が再び立ち往生すれば私は新しい質問を作成します。 – Ray

0

あなたが探しているものはあまり明確ではありません。

スクリプトとmyprogram.jarを同じレベルに配置すると、作成したスクリプトは正常に動作します。

さらに、myprogram.jarが依存ライブラリをどのように参照しているかわかりません。だから彼らにはコメントできない。最善の策は、スクリプトとすべてのjarファイルをまとめてスクリプトを実行することです。

+0

myprogram.shと同じ場所にデスクトップにmyProgram.shというスクリプトを保存しました。jarと、他の.jarファイルを含むlibフォルダ。 .shファイルをダブルクリックして実行しようとすると、geditで開きます。 "java -jar myProgram.jar"を使用して端末から.jarファイルを実行しようとすると、 "jarfile myProgram.jarにアクセスできません"というメッセージが表示されます。 – Ray

+0

* .shファイルは実行可能ですか? – MartinK

+0

.shファイルに実行に必要な権限があるかどうかを確認します。 ./myProgram.shと入力してください – prasann

関連する問題