- ベストアンサー
コンパイルできない
こんにちは いつもお世話になっています。 %CATALINA_HOME%/webapps/test/WEB-INF/classesにある TestController.javaをコンパイルしたいのですが 以下のようなエラーメッセージが出ます。 TestController.java:1: パッケージ dbpackage は存在しません。 import dbpackage.dbmodel; ^ どうすればTestControllerファイルをコンパイルできるのでしょうか? 最近質問ばかりでごめんなさい。 ちょっと切羽詰っています。 ご回答よろしくお願いします。 ちなみに「%CATALINA_HOME%」とはTOMCATをインストールしたディレクトリ,「dbpackage」とは%CATALINA_HOME%/webapps/test\WEB-INF\classesに あるフォルダでその中にはdbmodel.classというファイルが保存されています。 ==============TestController.java=============================== import dbpackage.dbmodel; public class TestController { public void TestController() { } }
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >dbpackageフォルダ両方間違いなく設定しました。 ん? クラスパスの設定はdbpackageの上のフォルダーですよ。 言い方が違うだけかもしれませんが、一応確認です。
その他の回答 (4)
- tomom1111
- ベストアンサー率0% (0/2)
カレントフォルダもしくはdbpackageのフォルダの中に dbmodel.java(ソースファイル)が存在しませんか? クラスパスの通っている場所にソースファイルが 存在したときにそんなエラーが出たようなきがします。 ソースファイルを別の場所に移動させると 上手くいくのではないでしょうか?
お礼
tomom1111さん、こんにちは。 御礼が遅くなって申し訳ございません。 先日、ようやく自分で解決することができました。 解決方法は、dbmodel.javaをコンパイルした後に %CATALINA_HOME%/webapps/test\WEB-INF\classes にdbmodel.javaをコンパイルしたdbmodel.classをコピペした後に TestController.javaをコンパイルすると成功しました。 なぜそうすると成功するのかは今もわかりません。 いろいろ試した結果、偶然成功しました。 >クラスパスの通っている場所にソースファイルが 存在したときにそんなエラーが出たようなきがします。 そのようなこともあるのですね。 今後何かトラブルが起きたときに参考にさせていただきます。
>public void TestController() >{ >} これ、コンストラクタでしょうか? だったら、"void"は不要だと思いますが。
- ngsvx
- ベストアンサー率49% (157/315)
次の2点を確認して下さい。 1.パッケージ名の記述は合っているか 2.そのパッケージはクラスパスに通っているか
補足
ngsvxさん、こんにちは。 はい、パッケージ名は何度も確認しました。 クラスパスはカレントディレクトリと dbpackageフォルダ両方間違いなく設定しました。 よろしくお願いいたします。
- mocajaba
- ベストアンサー率20% (1/5)
dbmodelというソースは、パッケージ宣言をしていますか? package dbpackage; っていうやつです。
補足
mocajabaさん、こんにちは。 はいソースの先頭にパッケージ宣言しております。 よろしくお願いします。
補足
>クラスパスの設定はdbpackageの上のフォルダーですよ。 失礼しました。説明不足でした。 カレントディレクトリがdbpackageの上のフォルダーになっております。 なのでコンパイルできるはずなのですが。。。