ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:importでクラスを呼び込みたい) importでjarファイルの中のクラスを呼び込む方法 2009/11/18 19:43 このQ&Aのポイント Javaプログラムでjarファイル内のクラスを呼び込む方法について説明します。import文を使用してjarファイル内のクラスを参照する必要がありますが、正しい記述方法がわからずエラーが発生しています。参考サイトやアドバイスをいただきたいです。 importでクラスを呼び込みたい 今、javaプログラムでjarファイルの中のクラスを呼び込む というものを作成しています。 プログラムでjarファイル内のクラスを呼び込むためにimportを 使ってクラスを使いますということを宣言しなくてはいけないのですが、importが上手くいかずエラーが出てしまい、プログラムがコンパイルできません。 クラスを含んだjarファイルの場所は /home/kimura/javahello/JarTest.jar です。その中にHello.classというクラスメソッドが入っておりそれを 別の場所で作成しているプログラムで呼び出し使いたいと思っています。 importの記述方法が分からず困っています。 この記述方法分かるという方がいらっしゃったら教えてください。 参考サイトなどもお知りでしたらよろしくお願いします。 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー cat101210 ベストアンサー率20% (1/5) 2009/11/18 19:56 回答No.1 CLASSPATH= に追加しておくか、コンパイル時(実行時も?)にCLASSPATH=~のオプションをつけるとか 質問者 お礼 2009/11/19 00:20 お返事ありがとうございます。 ご指摘の通りCLASSPATHの設定のサイトを見ながら /home/kimura/javahello/JarTest.jar を追加したところコンパイルでき無事実行もできました。 助かりました。また分からない点が出てきたらよろしくお願いします。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Java 関連するQ&A Jarファイルにクラスパスを指定したい 最近Javaプログラミングを学び始めたものです。 クラスメソッドを一つのjarファイルにまとめて、その中のクラスを 他のプログラムで呼び出し使うということをやりたいのですが、 それにはjarファイルにクラスパスを指定してその中のクラスを 使うという記述がいるらしいのですがやり方がよく分からず困っています。 そのjarファイルの場所を見てみると /home/kimura/デスクトップ/Jarフォルダ/Jar.jar とあります。 このJar.jarの中にあるクラスを呼び出し使いたいです。 指定の方法や関連するサイトをお知りの方教えてください。 よろしくお願いします。 自作のクラスファイルがインポート出来ない ご質問させて頂きます。 自作のクラスファイルがインポート出来ないので困っています。 自作のクラスファイルがある場所 c:\ja クラスファイル名 TestMap.class juko.javaにこのようにインポートして、 import TestMap.*; 以下のようにインポートをしようとすると、 C:\ja>javac -d c:\ja juko.java 以下のようなエラーになってしまいます。 ----------------- jukou.java:7: パッケージ TestMap は存在しません。 import TestMap.*; ----------------- なお、環境設定も以下のように変更してみましたが駄目でした。 CLASSPATH=C:\ja;.;C:\j2sdk1.4.1_02\lib\tools.jar;C:\Program Files\Allaire\JRun\l ib\ext\servlet.jar;C:\mysql-connector-java-3.1.0\mysql-connector-java-3.1.0-alph a-bin.jar; ご教授して頂けたら幸いです。 Beanクラスのimportについて Beanクラスを作成し、そのBeanクラスをServletでimportしたいのですがコンパイルするとエラーになってしまいます。 Bean(TestBean.java)をsampleパッケージに保存してコンパイルした後に Servlet(Test.java)を ----------------------------------------------- import sample.TestBean; import javax.servlet.*; ・・・・・・・ ・・・・・・・ ------------------------------------------------ として、sampleファイルのひとつ上のディレクトリーに保存してコンパイルすると Test.java:1: シンボルを解釈処理できません。 とエラーになってしまいます。 原因がお分かりになるかた、ご教授をお願いできないでしょうか。よろしくお願いいたします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム クラス宣言とアクセス制御 お世話になります。 独学でJavaの学習を始めました。 (仕事で必要になったためです) Java のソースファイル名は、main メソッドを宣言するクラスの クラス名と一致させなければならないようですが、これは そのクラスを public をつけて宣言したときに限るのでしょうか? 以下のソースを「hello.java」という名前で保存し、コンパイルすると エラーが出ますが、「public」を削除して再びコンパイルすると、 コンパイルが通り、「test.class」が生成されます。 ********** public class test { public static void main (String args[]) { System.out.println("Hello World"); } } ********** 同一パッケージ外からクラスを参照する場合、クラス名とソースファイル名を 一致させてあげないとクラスを見つけられない、ということなのでしょうか? とんちんかんな認識でしたら申し訳ありませんが、 ご教授頂ける方、宜しくお願い致します。 また、実際に Java を使って開発されている方にお伺いしたいのですが、 現場では main メソッドを宣言するクラスのクラス名と、ソースファイルの ファイル名を一致させる、ということは常識というか、暗黙の了解みたいな ものなのでしょうか? (もちろんプロジェクト毎のコーディング規約によると思うのですが…) importがうまくできません サーブレットを使いたいと思い、Hello,World!プログラムを実行しようとして、本に載ってある通りのソースを書き込んだのですが、コンパイルの段階でこのように表示されました。 $ javac -classpath $CATARINA_HOME/common/lib/servlet.jar HelloWorld.java HelloWorld.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloWorld.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; プログラミング初心者なのでなぜこのようになるのかさっぱりわかりません。パッケージが見つからないといわれてしまうと、手も足も出ません。このようなエラーがでるのはなぜなのでしょう?どなたかわかる方教えていただけませんか?また解決方法も教えていただけないでしょうか? import について 最近JAVAの勉強を始めたばかりの超初心者です。 専門用語(クラス、オブジェクト、メソッド等)に四苦八苦していますが、何とか頑張っています。 で、質問の件なのですが以下をコンパイル出来ません。 //printer.java public class printer { public void print() { System.out.println("hello from java"); } } //app.java import printer; public class app { public static void main (String[] args) { (new printer()).print(); } } printer.java → printer.class のコンパイルは出来ますが app.java をコンパイルしようとすると、以下のエラーが出ます ~$ javac app.java app.java:1: '.' がありません。 import printer; ^ app.java:1: ';' がありません。 import printer; ^ エラー 2 個 printer.javaとapp.javaとprinter.classはすべてカレントディレクトリに入っています。 ただ、app.javaのファイルでimportの行を削除するとキチンとコンパイル実行できてしまいます。 これがなぜか分からない(自分はimportあたりが怪しいと思う)のでタイトルを「importについて」としました。 どなたか原因分かる方いらっしゃいましたら、ご教示よろしくお願いします。 ファイルからの入力 Scannerクラス ファイルの内容を読み込むプログラムをJavaで作成しています。 Scannerクラスを利用するため、以下のようにimport宣言しました。 package bc; import java.util.Scanner; class FileScanner { コンストラクタ{ } メソッド{ } : : mainメソッド{ } } という感じで書いているのですが、この場合のメソッド名は、 Scannerクラスで定義されている名前でないとダメなのでしょうか? 自分で作った名前でメソッドを定義したのですが、 Scannerクラスで定義されていません。 というようなエラーが返ってきてうまくいきません。 どなたか、ご教授くださいm(_ _)m jarファイルのクラスを使いたい こんにちは。 Java言語を使い始めたばかりの者です。 jarファイルの中のクラスのメソッドを読み込むには どのような作業をすればよいのですか。 参考になるサイトとかでもいいのでお知りでしたら 教えてください。 よろしくお願いします。 Eclipseを用いたJARファイル作成について Eclipseを用いてjavaのプログラムをしているのですが アプレットのプログラム"のみ"がJARファイルにエクスポートできずに困っております。 [プロジェクト]を右クリック→[エクスポート]→[JARファイル]に設定するところまでは良いのですが 「JARマニフェスト仕様」というページの、「アプリケーションのエントリー・ポイントのクラスを指定」という項目で、メインクラスを参照しても アプレットのプログラムのクラス"のみ"が表示されていないのでエクスポートできません。コンソールのプログラムのクラスは表示されているので おそらく、アプレットにはmainメソッドを用いていないので表示されないのだと思うのですが・・・。 mainメソッドがないプログラムの場合はどうすれば良いのでしょうか・・・? 自分なりに、↓など調べてみたのですがどこがいけないのかわかりません。 http://mailsrv.nara-edu.ac.jp/~asait/java/applet/applet.htm http://sunjava.seesaa.net/article/57546363.html どこをどうすればこの場合、EclipseでJARファイルが作成できるのか、詳しく教えていただければ助かります。 一応、アプレットは↓の簡単なプログラムを試してみました。実行は出来ます。 import java.applet.Applet; import java.awt.Graphics; public class Sample extends Applet { public void paint(Graphics g) { g.drawString("こんにちは",10,10); } } 普段、importするクラスはどこにある? 普通にJavaでプログラムを書く時に、例えば、 import java.net.* とか書くと思うのですが、この(例えば)net配下のクラスファイルはどこにあるのでしょうか?JDKをインストールしたディレクトリを見ても、見当たらないのですが…。 Eclipseで新規クラスを作成時、スーパークラスをjava.lang.Object以外にするには? 最近Eclipseを使い始めましたが、パッケージエクスプローラがよくわかりません。 Javaプロジェクトを新規に作成し、 インポートを使って既存のjarファイルをそのプロジェクト内に配置しました。 その後、プロジェクトフォルダを右クリックし、 「ビルド・パス」-「ビルド・パスの構成」から 「ライブラリ」タブの「JARの追加」から先述のjarファイルを選択しました。 これでビルド・パスは通ったと思ったのですが、 新規クラスを作成する際にスーパークラスは「java.lang.Object」しか選択できず、 追加したJARにあるクラスが選択できません。 新規クラス作成時のウィザード画面で追加したJARにあるクラスを 選択するにはどうすればよいのでしょうか? また、そもそもこのやり方でビルド・パスは通っているのでしょうか? 以上、よろしくお願いします。 main()を持つクラスが2つ以上あるexecutable jar main()を持つクラスが2つ以上あるexecutable jar を作成して、 main()を持つクラスを 必要に応じて、起動仕分けることは 可能なのでしょうか? もし、可能であるとすれば マニフェストファイルには どのように記述すればよいのでしょうか? そして、 java -jar コマンドで起動するときにどのようにすればよいのでしょうか? 不可能であれば不可能であるということを 教えてください。 以上 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム パッケージをjarファイルにするには? こんばんは。 単一のクラス、1つのフォルダの中にある複数のクラスをjarファイルにする方法は一応わかります。 しかし、パッケージを丸ごとjarファイルにする方法がわかりません。手順だけでも、書いていただければ結構なので、誰かわかる方ご回答のほうよろしくお願いします。 1つのフォルダ内だと、jarファイル作成時にクラス名を書けますが、パッケージとなると、下の階層の中のクラスはどの様に記述すればよいのかわかりません。 よろしくおねがいします。 jarファイル内のクラスからjarファイル名の取得 こんにちわ!yukimura1024です。 ちょっとわかりにくいタイトルかもですが質問です(^^; ○前提条件 1.コマンドプロンプトで以下のようにjarファイルを実行します。 java -jar xxx.jar xxx1 xxx2 2.xxx.jarのなかはx.class、y.class、z.class、と3つのクラスがあり、 x.classのmainメソッドが最初に呼び出されます。 ○質問 上記条件のとき、x.classのmainメソッド内で「xxx.jar」という文字列を取得したいのですが こんなことは可能でしょうか? なぜこんなことをしたいのかというと以下の理由からです。 1.xxx.jarのほかにyyy.jarというjarファイルも作成し、x.class、y.class、z.classを格納する。 2.yyy.jarも最初にx.classのmainメソッドが呼び出される。 3.x.classのmainメソッド内でxxx.jar、yyy.jarのどちらとして呼び出されたのか知りたい! ※2つのjarファイルに格納するx.class、y.class、z.classはまったく同じものです。 アドバイスいただける方いましたらお願いします。 HttpClientのクラスの内容について ダウンロードしてきたファイルを指定したフォルダに自動的に保存するというjavaプログラムを作成したいと思っています。 Jakarta CommonsのHttpClientというクラスライブラリをダウンロードして、その中のクラスを利用しようと思っているのですが、クラスとしてコンパイルされているものしか入っていなくてクラスの内容が見れなくてクラスの内容が分かりません。クラス名ではなかなか機能を知ることが困難で困っています。 HttpClientのクラスの内容が分かるようなサイトをお知りでしたら教えてください。あとその中でも作成したいと思っているプログラムに関係しているクラスはどれかということも教えていただけたら助かります。 よろしくお願いします。 どのクラスのメソッドか、をどう見極めるか。 どのクラスのメソッドか、をどう見極めるか。 Java初心者です(教科書で学んで、実践はこれからというレベル)。 参考書やネット上の資料等に掲載されているコードを見ていますと、 import文(10文くらい)で沢山のパッケージをimportしているようなクラスを しばしば目にしますが、このようなクラス内で使われている沢山のメソッドは、 それぞれ、どこかのクラスに属しているメソッドであるかと思います。 これらのメソッドについて、その仕様を知りたいと感じた場合、 それらがそれぞれ、どのクラスに属するのかを突き止める必要があるかと思いますが、 その突き止め方について、どなたか教えて下さい。 (一般的に普及している方法で結構です。) 例えば、知りたいと感じたメソッド名をネット検索し、 そのメソッドが「Javaの組み込みクラス」のメソッドである場合には、 ネット検索でヒットするでしょうから、その検索結果を受けて、 そのヒットしたクラスと、import文の内容とを比較し、 ネット検索でヒットしたクラスが、そのメソッドの格納主であると確信できれば、 それをもとに、そのメソッドの仕様を知ることができますよね。 (自作・他作のメソッドと、名前がバッティングしているかもしれないことを考慮すると、 やや頭が痛くなる問題になりませんか?) ネット検索で辿る方法が、まず頭に浮かびましたが、 これよりも効率的な方法がもし何かありましたら、教えて下さい。 ただ、一方で、 仕様を知りたいと思っているメソッドが、 「Javaの組み込みクラス」のメソッドではなく、 自作(もしくは、他作)のメソッドであった場合、 検索してもヒットはしませんから、その場合には、 import文にある自作もしくは他作のパッケージをしらみつぶしで探していくことになるのでしょうか? 当然、そのメソッドは、同一パッケージ内にあるクラスのpublicメソッドである可能性もありますから、 同一パッケージ内のクラスの中も、しらみつぶしに探していくことになりますよね? 各メソッドがコメントで「○○クラスのメソッド」というように注意書きされてあれば、 このような苦労はないのでしょうが、ネット上のソースを見る限りでは、 そんな親切なコメントはまず期待できないように思います。 以上、まとまりのない質問ではありますが、アドバイスを宜しくお願い致します。 自分のこの疑問が見当違いの疑問でしたら、その時は、ズバリそれを指摘して下さい。 VC++6.0で作成したDLLのクラスをVB6.0でインポートするには? VC++6.0で作成したDLLのクラスをVB6.0でインポートするにはどうしたらいいのでしょうか? 通常の関数なら__declspec(dllexport) __stdcall を書き,defファイルにEXPORT指定することで解決できたのですが,クラスごとエクスポートする場合にはVC側,VB側の記述をどのようにすれば良いのでしょうか? 外部クラスライブラリをインストールして使用する方法 外部クラスライブラリをインストールして使用するためには・・・ C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext と C:\Program Files\Java\jre6\lib\ext にjarファイルを置かないといけませんよね? それ以外にもなにか必要ですか? 教材を見ながらJavaの勉強をしているのですが 外部クラスライブラリを利用するプログラムをコンパイルしようとすると c:\JavaGOGO\Sample3-1>javac FusenExec.java エラー:C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\dodai.jar の読み込みエラー です。cannot read zip file FusenExec.java:3: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス Dodai fusen; ^ FusenExec.java:4: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス fusen = new Dodai(); ^ エラー 3 個 このようなメッセージが表示されエラーが起きます。 使おうとしているのはDodaiライブラリのクラスなのですが なにが原因でコンパイルエラーが起きるのでしょうか(>_<) tritonus_share.jarファイルをEclipseでインポートできない 初めまして。 宜しくお願い致します。 http://tritonus.org/plugins.html にある「tritonus_share-0.3.6.jar」ファイルをダウンロードし、Eclipseから インポート > アーカイブ・ファイル > jarファイルを選択 > 終了 としたのですが、 http://www.tokyovalley.com/data/20070504235207.jpg の左側の「org.tritonus.share.sampled.mixer」にある白いアイコンが出てしまい、他の茶色のパッケージのようなアイコンになりません。 そしてダブルクリックで中のクラスをみることもできません。 org.tritonus.share.sampled.*にあるクラスを別のクラスからimportしているのですが、「見つかりません」というエラーが出てしまいます。 ファイル自体が壊れているのでしょうか? それとも私のインポートの仕方に問題があるのでしょうか? どなたか手がかりになるような情報でも頂ければ幸いです。 javaプログラムのimportについて Javaプログラムでサンプルプログラムを実行したいのですが、 com.sun.xml.parser.Resolver;とcom.sun.xml.tree.XmlDocument; をimportするところでエラーがでてしまいます。 javaのビルド・パスで、JARファイルを追加しようと考えております が、上記の2つを含むJARファイルが置いてあるサイト(URL)が 分かりません。どうか教えていただけないでしょうか。 よろしくお願いします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
お返事ありがとうございます。 ご指摘の通りCLASSPATHの設定のサイトを見ながら /home/kimura/javahello/JarTest.jar を追加したところコンパイルでき無事実行もできました。 助かりました。また分からない点が出てきたらよろしくお願いします。