• ベストアンサー

パッケージをjarファイルにするには?

こんばんは。 単一のクラス、1つのフォルダの中にある複数のクラスをjarファイルにする方法は一応わかります。 しかし、パッケージを丸ごとjarファイルにする方法がわかりません。手順だけでも、書いていただければ結構なので、誰かわかる方ご回答のほうよろしくお願いします。 1つのフォルダ内だと、jarファイル作成時にクラス名を書けますが、パッケージとなると、下の階層の中のクラスはどの様に記述すればよいのかわかりません。 よろしくおねがいします。

  • Java
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

すいません,少し訂正します. 下のコマンドを > jar cvf <JARファイル名> org.** com.** としてください. "m"を入れるとマニフェストファイルを指定しないといけないので. ちなみに下記のコマンドの正しい形は, > jar cvmf <マニフェストファイル> <JARファイル名> org.** com.** です.

kamkamkam3
質問者

お礼

どうもありがとうございます。 マニフェストファイルの知識はありますので、その辺りの事は、分かっております。 どうも、ご丁寧にありがとうございます。またよろしくお願いします。

その他の回答 (2)

  • ribot
  • ベストアンサー率33% (4/12)
回答No.2

パッケージが、hoge.hoge1.hoge2という階層になっていても トップのパッケージを指定すれば、jarファイルができます。 jar cf <jarファイル名> hoge また、複数のパッケージをある場合は、jarファイル名のあとに トップのパッケージ名を列記すればOKです。 jar cf <jarファイル名> hoge hogehoge ...

kamkamkam3
質問者

お礼

どうも、ご返事ありがとうございます。 そんなに単純なことだったのですね。。。Javaは複雑なイメージがあるので、複雑な方法で、やるんだろうなと思っておりました。 これなら、すぐにでもできそうです。どうもありがとうございました。たいへんたすかりました。

回答No.1

例えば"org"というパッケージと"com"というパッケージがあり,下階層にはたくさんのクラスが存在するとします. そんなときは, > jar cvmf <JARファイル名> org.** com.** といったかんじで,パッケージのあとに"**"をつければOKです.

kamkamkam3
質問者

お礼

どうもご返事ありがとうございます。 多数のパッケージをjarファイル化することも可能なんですね。**というのは見たことがありませんが、ワイルドカードの拡張版なのでしょうか? 何はともあれ、お2方のアドバイスにより、有益な情報を2つも知ることができ、とても感謝しております。 なぜか、この事は本には載っていないのです。周りにJavaを知っている人がいないものですから。 どうもありがとうございました。

関連するQ&A

  • Jarファイルにクラスパスを指定したい

    最近Javaプログラミングを学び始めたものです。 クラスメソッドを一つのjarファイルにまとめて、その中のクラスを 他のプログラムで呼び出し使うということをやりたいのですが、 それにはjarファイルにクラスパスを指定してその中のクラスを 使うという記述がいるらしいのですがやり方がよく分からず困っています。 そのjarファイルの場所を見てみると /home/kimura/デスクトップ/Jarフォルダ/Jar.jar とあります。 このJar.jarの中にあるクラスを呼び出し使いたいです。 指定の方法や関連するサイトをお知りの方教えてください。 よろしくお願いします。

  • jarファイルのマニフェストについて

    JAVA初心者です。複数classをjarファイルにして実行する場合。マニフェストを登録すると、java -jarオプションで実行できると思いますが、それぞれのclassが別階層にあった場合メインクラスが見つからないとうエラーで実行できません。別階層にある場合はマニフェストは使えないのでしょうか。

    • ベストアンサー
    • Java
  • JARファイルの利点について

    本日はJARファイルについて質問いたします。 たまにみかけるのですが、クラスファイルのあるパッケージを集めてJARファイル化してサーバーに搭載することがあります。 これはクラス一つ一つ登録することと何が違うのでしょうか? 教えてください。

    • ベストアンサー
    • Java
  • 同じパッケージ、クラス名が含まれているjarが複数ある場合

    tomcatからjarをロードさせて使用しておりますが、 同じパッケージ、同じクラスを含むjarが複数ある場合、どのような 動きになるのでしょうか。 たとえば AAA.jar BBB.jar の両方に package net.testpakege; public class Testclass{ } みたいなクラスがあるとします。 他のクラスからTestclassを呼び出した場合、 AAA.jarとBBB.jarのどちらのTestclassが使われるのでしょうか。 また現在VMが異常終了してしまう現象が出ていますが、上記の 事と関係がある可能性はありますでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • パッケージとビルドパス@eclipse

    eclipse3.1.2を使ってあるコードを書いています。次にあるのがこのプロジェクトの構造です。 Project: Aaa | default package-いくつかのファイル | aaa-いくつかのファイル | hoge.jar & hoge2.jar(2つのjarファイルはビルドパスで指定した) 質問はどのようにして、package aaa内にあるファイルがhoge.jarもしくはhoge2.jarにあるクラスを継承または実装するのか?です。 この2つのjarファイルに入っているクラスファイルはdefault package内では実装と継承ができるのですが、default package以外のpackageだと、とたんに継承と実装ができなくなります。importを使うのも手かなと思ったのですが、どうやってjarファイルを指定すればいいのかわかりません。 もともと、ビルドパスはdefault packageにしか、効かないのでしょうか? それから、どのようにpackage aaaはこのjarファイルにあるクラスを実装と継承をするのでしょうか? もともと、パッケージを2つ用意する必要も無いのですが、このプロジェクトの都合上、2つパッケージを用意した方が整理整頓できるのでこの方法を選びました。もし、「んな、うまい話なんかねぇよ!」ってことでしたら、この方法を廃止しざるを得ないのですが、どうにか実現する方法は無いでしょうか?

    • ベストアンサー
    • Java
  • JARファイル・JARコマンドに関して

    JARファイル・JARコマンドに関しての質問です。 同じクラスファイルを使用して、2つのJARファイルを作成しました。 しかし、バイナリツールでファイルを比較したところ、バイナリデータの一致が取れませんでした。 下記に、例と質問を記載します。 ご存知の方がおりましたら、ご教授よろしくお願いします。 例: 1.jar cf C:\java\test\HelloWorld1.jar C:\java\test\HelloWorld.class (クラスファイルをHelloWorld1.jarというJARファイルを作成します。) 2.jar cf C:\java\test\HelloWorld2.jar C:\java\test\HelloWorld.class (クラスファイルをHelloWorld2.jarというJARファイルを作成します。) ※HelloWorld.classはhelloと表示されるだけの簡単プログラムです。 1で作成されたJARファイルと、2で作成されたJARファイルをバイナリで比較したところ一致しませんでした。 ■質問 1.JARコマンドはJARファイルを作成する際に何をしているのでしょうか? 2.同じクラスファイルでJARファイルを作成しているのに、バイナリデータに差がでるのはなぜでしょうか? JARファイル作成時に作成時間等をファイルに保持しているのでしょうか? (作成時間が違うため、JARファイルで差がでるのでは、と推測しています・・・・) いろいろ調べてみたのですが、良い情報が見つかりませんでした。 参考URLだけでも結構です。 ご存知の方がいましたら、ご教授よろしくお願いします。m(_ _)m

    • ベストアンサー
    • Java
  • java でjarファイルをつくりホームページに公開するには?

    悩んだ結果分からなかったので教えていただきたいのですが。 ホームページを作っていてjava Applet 又は、Swingでjarファイルをつくり、 jarファイルで起動できるまではできました。 いざホームページにアップしようと思った時、 今までAppletはclassを指定してOkでした。 jarファイルにした理由は内部クラスがあるとどうもサーバー側 が受け付けなかったので。 (1)jarファイルを使用した場合どのように記述したらよろしいでしょうか? jarファイルの内容は単純に親クラスと内部クラスを合わせたものです。 (2)swingのjarファイルファイルを使用した場合もどのように記述したら よろしいでしょうか? よろしくお願い申し上げます。 ☆良解答の方にはポイントを差し上げます。

    • ベストアンサー
    • Java
  • JARファイル内でのファイルの作成

    JARファイル内に格納されたクラスファイル(MainWindow.class)を実行して、同じJARファイル内にバイナリファイル(DataFile.bin)を作成したいのですがどのようにしたらよいでしょうか。  JARファイル内のクラスファイル(MainWindow.class)に記述された、randomAccessFile(string,"rw")命令によって、MainWindow.classが格納されているのと同じJARファイル内にDataFile.binを新規作成したいと思っています。  ちなみに、作成したファイルは、 URL url=null; url=getClass.getResource("DataFile.bin")で呼び出したいと思っています。  インターネット等で検索しているのですが、なかなか見つからなくて困っています。すみませんがどうかよろしくお願いします。

    • ベストアンサー
    • Java
  • jarファイルの作成

    はじめまして。 さっそく質問させていただきます。 Javaでswingを使用してGUIアプリケーションを作成しました。 .exeファイルのようにダブルクリックで起動できるように、jarファイルを作成したのですが、開こうとしてファイルをダブルクリックすると、「failed to load Main-Class manifest attribute from (C:からjarファイルまでの階層)」というエラーがでて実行することができません。 階層は C:\a\b フォルダ b の中に「c.class」「d.class」「MANIFEST.MF」の3つがあります。 c.classがmainメソッドを持っているのでマニフェストファイルには、「Main-Class: c」と書き込み、コマンドプロンプトから「jar cvfm c.jar MANIFEST.MF *.class」と入力、jarファイルが作成されたのですが、ダブルクリックすると上記のエラーがでてしまいます。 どのようにすればエラーなく実行することができるでしょうか? 開発環境は、Windows XP SP3, jdk1.6.0_16, 統合開発環境は使用していません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 実行可能jarファイルについて!

    実行可能jarファイルについて! java -jar Foo.jar Foo というやり方で、実行可能jarファイルにあるクラスの中から実行するクラスを指定できるという記述があったので、試してみたのですが、うまくいきません。 http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/java_primer/ExecutableJarfile.html どうしても、マニフェストファイルに書かれたクラスが実行されてしまいます。 マニフェストファイルはこちらの内容になります。 Manifest-Version: 1.0 Rsrc-Class-Path: ./ geronimo-jta_1.1_spec-1.0.jar s2-dao-1.0.49.jar co mmons-logging-1.1.jar poi-3.0-FINAL.jar aopalliance-1.0.jar s2-dao-ti ger-1.0.49.jar junit-3.8.2.jar teeda-core-1.0.13-sp7.jar geronimo-ser vlet_2.4_spec-1.0.jar cglib-nodep-2.1_3.jar s2-extension-2.4.40.jar s 2-tiger-2.4.40.jar easymock-2.4.jar teeda-webunit-0.2.2.jar teeda-aja x-1.0.13-sp7.jar teeda-tiger-1.0.13-sp7.jar ojdbc6.jar easymockclasse xtension-2.4.jar commons-lang-2.4.jar javassist-3.4.ga.jar teeda-xmlu nit-0.1.0.jar log4j-1.2.13.jar teeda-extension-1.0.13-sp7.jar ognl-2. 6.9-patch-20090427.jar junit-4.4.jar junit-addons-1.4.jar s2-framewor k-2.4.40.jar h2-1.0.69.jar Class-Path: . Rsrc-Main-Class: jp.co.tsys.sfi.batch.execute.TagOutputExecute Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader jarファイルは、Eclipseの実行可能jarファイルの出力で、エクスポートしました。 よくみると、Main-ClassがEclipseのクラスになっているので、そこが違うのかな、と予想しています。 なぜ、Eclipseのエクスポートを使っているかというと、ライブラリのjarファイル群をjarファイルに取り込むのに便利だと思ったからです。 →これさえできれば、ほかの方法で構いません。 どうかよろしくお願いします!

    • ベストアンサー
    • Java

専門家に質問してみよう