重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Aproject内にmain,helperとパッケージを作成し、
他チームも共通で利用するhelper内の複数クラスからjarを作成しました。
main内にはmainメソッドを含むクラスが1つのみですが、
他チームは別途mainを含むクラスを作成しています。

Linuxサーバ上/tmp/Aproject/mainにaaaa.classを配置し、
jarを/tmp/Aproject/helper/helper.jarのように配置した場合、
どこにどのようにパスを通すべきなのでしょうか?
いろいろ試してみたのですが、うまくいきません。
不足情報ありましたら随時回答します。

宜しくお願い致します。

A 回答 (3件)

Linuxということですから、


java -cp .:/tmp/Aproject/helper/helper.jar main.aaaa
と、クラスパスの各エントリはコロン (:) で区切らないと駄目だと
思います。

参考URL:http://java.sun.com/javase/ja/6/docs/ja/technote …
    • good
    • 0

> "cannot execute binary file"というエラー



javaコマンドが正しくインストールされていないのでは?
あるいは権限を確認してください。

パッケージは、基準(ルート)パスからの相対パスを表し、
classファイルは相対的に配置する必要があります。
クラスパスは、基準(ルート)パスを列挙します。
jarファイルは中身が相対パスとみなされます。
    • good
    • 0

例えばコマンドラインから起動するとした場合



/tmp/Aprojectをカレントにして
java -cp .;/tmp/Aproject/helper/helper.jar main.aaaa
でうまくいきませんか?

aaaa.classはmainパッケージであること。
helper.jarの中身は
mainフォルダの中にmainパッケージのclassファイル
helperフォルダの中にhelperパッケージのclassファイル
が格納されていること。

サーバーならCLASSPATHに"/tmp/Aproject/helper/helper.jar"を追加すれば良いかも。

この回答への補足

すみません。説明不足でした。

jarにしているのはhelperパッケージ内のもののみです。
mainパッケージ内にはaaaa.classをclassファイルとして上げ、
helperパッケージのものはclassファイルをおかずにjarで実行したい
と考えています。
理由は他チームは別途mainのあるクラスを作成しており、
そこからhelperパッケージのもののみ共有したと考えています。
「java -cp .;/tmp/Aproject/helper/helper.jar main.aaaa」
で実行したところ"cannot execute binary file"という
エラーが起こりました。
宜しくお願いします。

補足日時:2007/09/06 11:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!