- ベストアンサー
importのベースパス
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
jarファイルは、実はZIPファイルです。 ためしにjarファイルをコピーして、.zipにリネームすると、展開することができます。 JDK5.0の場合、 C:\Program Files\Java\jre1.5.0_14\lib\rt.jar を展開すると、 java やcom というフォルダがあります。 Javaの実行環境は、 java や com を rt.jar から探すというよりは、クラスパスに含まれているすべてのJARファイルをあたって、java やcomを見つけているような動作をします。
その他の回答 (1)
- _ranco_
- ベストアンサー率58% (126/214)
Javaのクラスやパッケージの名前と、OSのファイルシステムの概念であるフォルダやパスは、基本的には無関係で、ただ、前者が後者を利用するケースもある、というだけのことです。とくにユーザ(デベロッパ)が作るカスタムクラスやそれらを入れるパッケージは、一定の理論的関係(「Java言語仕様(JLS)」を読みましょう)のもとに、OSのファイルシステムを利用するケースが多いです(とくに開発時は)。javaやcom.sunなどは、既定のライブラリ(jarファイル...とくにrt.jar)から読まれます。
関連するQ&A
- java初心者のものですが、importについて質問があります。
java初心者のものですが、importについて質問があります。 下記のコードをコピペして確認しようとしたところimportの箇所で見つからないというエラーが出てしまいました。 Gmail.java package android.provider; import com.google.android.collect.Lists; ←com.googleがエラー import com.google.android.collect.Maps; ←com.googleがエラー import com.google.android.collect.Sets; ←com.googleがエラー : : ディレクトリは次の通りです。 C:\Program Files\Java\myPackage -com -google -android -collect Lists.java Maps.java Sets.java C:\Program Files\Java\android.provider\src -android -provider Gmail.java 環境変数の「CLASSPATH」にはC:\Program Files\Java\myPackageを追加してありますが 設定、ディレクトリなどおかしなところあればご指摘ください。 開発環境 windowsXP eclipse(pleiades-java-3.5.2) よろしくお願いします。
- ベストアンサー
- Java
- このインポート文について
こんにちは、お世話になります。 import java.sql.Connection; import java.sql.PreparedStatement; この記述をしてtomcat10でjspファイルを実行したいのですが そもそもこの記述はどこに書くのが正確でしょうか? 何やらファイルが足りてないと思うのですが tomcatホームフォルダの、どのフォルダのどのファイルに記述すればよいでしょうか? ご教示お願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- Eclipseのimport文
Eclipseでソースを書いているときに冒頭に import宣言をすると、 インポート ****** は決して使用されません。 というアラートが出てしまいます。 今のところ、java.io.*;とjava.awt.Frame;を インポートしようとした際に出ました。これでは インポートができないということだと思いますが、 なぜでしょう。またどうしたらよいのでしょうか。
- ベストアンサー
- Java
- 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について」としました。 どなたか原因分かる方いらっしゃいましたら、ご教示よろしくお願いします。
- ベストアンサー
- Java
- 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.*; プログラミング初心者なのでなぜこのようになるのかさっぱりわかりません。パッケージが見つからないといわれてしまうと、手も足も出ません。このようなエラーがでるのはなぜなのでしょう?どなたかわかる方教えていただけませんか?また解決方法も教えていただけないでしょうか?
- ベストアンサー
- Java
- java import文のエラー
javaのソースで、パッケージをimportして使用するための簡単なサンプルを作成しました。 import文でクラス名まで指定すれば問題ないのですが、*を利用するとコンパイルエラーとなってしまいます。 コンパイル時にクラスパスを指定するのかと思って試してみましたが、やはりエラーでした。 回避方法をご存知の方いらっしゃいましたら、教えていただけますでしょうか。 なお、java/javacは、1.5.0_14を使用しています。 ■ソースコード(1) <C:\Work\Test\PackTest.java> package Test; public class PackTest{ public static void methodA(){ System.out.println("パッケージ成功"); } } ■ソースコード(2) <C:\Work\UsePack.java> import Test.*; //import Test.PackTest; なら成功 class UsePack{ public static void main(String args[]){ PackTest.methodA(); } } ■エラー例(1) >javac -d . PackTest.java (これは成功) >javac UsePack.java UsePack.java:5: PackTest にアクセスできません。 クラスファイル .\PackTest.java は不正です。 ファイルにクラス PackTest が含まれていません。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 PackTest.methodA(); ■エラー例(2) >javac -d . PackTest.java (これは成功) >javac -classpath C:\Work\Test UsePack.java UsePack.java:1: パッケージ Test は存在しません。 import Test.*; ^ UsePack.java:5: PackTest にアクセスできません。 クラスファイル C:\Work\Test\PackTest.class は不正です。 クラスファイル Test.PackTest に不正なクラスがあります。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 PackTest.methodA(); ^
- 締切済み
- Java
- bcc55のエラー(cox32.obj)
コンパイルすると、いつも Fatal:ファイルCOX32.OBJが開けません と言うエラーが出てしまいます。 bcc55のbinフォルダーにbcc32.cfgというファイルを作り、中身に -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" ilink32.cfgには -L"c:\Borland\Bcc55\lib" となっています。 初歩的なことかもしれませんがよろしくお願いします。
- 締切済み
- C・C++・C#
- Importしたクラスとメモリとの関係は
こんにちは、JAVA初心者です、宜しくお願いします。 JAVAでクラスをImportしますが、これはどのような意味でしょうか。 (メイン)メモリの上に呼び出されると いうことでしょうか。 インスタンス化したクラスはメモリの上で領域を確保するとありますが、Importしたクラスはコンパイルまでは どのような状態なのでしょうか。
- 締切済み
- Java
- import時のコンパイルエラー
Java初心者です。 現在、あるマニュアルにより勉強をしております。 以下の様に簡単なクラスを2つ作成しようと思って おりますが、どうもマニュアル通りにやってもコンパイル エラーが発生します。 まず、以下は成功し、printer.classが作成されます。 <printer.javaの中身> public class printer { public void print() { System.out.println("printer class OK"); } } 次に、上記クラスを使用する以下のクラスのコンパイル を行うと、エラーが発生します。 <app.javaの中身> import printer; public class app { public static void main( String[] args ) { //printerクラス利用 (new printer()).print(); } } エラー内容: app.java:2: '.' がありません。 import printer; ^ どうも、インポート時のprinterクラスの指定方法が悪そうなのですが、わかりません。一応マニュアル通りに記述しているつもりです。環境はwin2000,java1.4.1_02です。以上、よろしくお願いします。 ※編集内容を確認すると、文頭のスペース、タブが全部削除されてしまい、大変みにくくなってしまいました。
- ベストアンサー
- Java
- Borland C++ Compilerのエラーについて
初心者なもので教えてください!! エラーE2209「インクルードファイル’stdio h’をオープンできない」 警告W8065「プロトタイプ宣言のない関数’printf’の呼び出し(関数main)」 と出てきてしまうので、この掲示板の過去のページを参考に、 1)bcc32.cfgの内容見直し(拡張子も.cfgになってます) 2)インクルードファイル、ライブラリファイルがC:borland\bcc55にあるか確認 3)bcc32.cfgとbcc32.exeが同じC:borland\bcc55\binにあるか確認 4)環境変数にC:borland\bcc55\binに加えてあるか確認 …と頑張ってみたのですが、解決しません!! お願いです。助けてください(TОT)
- ベストアンサー
- C・C++・C#