重要なお知らせ

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

【GOLF me!】初月無料お試し

CentOSで、WEBページからデータベースにアクセスするためのプログラムをつくっているのですが、サーブレットがコンパイルエラーになります。
サーブレットで、mypackageが解決できないとのことです。

# javac -classpath /opt/tomcat6/apache-tomcat-6.0.20/lib/servlet-api.jar Controller10.java
----------
1. ERROR in Controller10.java (at line 10)
import mypackage.Model10;
^^^^^^^^^
The import mypackage cannot be resolved
----------

mypackageはデータベースにアクセスするJavaBeanであるModel10をいれているフォルダです。Model10.javaはコンパイルできました。

Controller10.java というのは、Model10.classにアクセスするためのサーブレットです。

Controller10.javaと同じ階層に、mypackageのフォルダをつくり、その下に、Model10.classというJavaBeanをいれていて、なぜ解決できないのか、どうしてもわかりません。


ファイル構造は下記の通りです。
webapps
 |___mysamples
     |_test.jsp
     |_HTML
     |_WEB-INF
       |_class     
         |_Controller10.java
         |_mypackage ←フォルダ
            |_Model10.class ←JavaBean

Controller10.javaの抜粋です
------------------------------
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import java.io.PrintWriter;
import mypackage.Model10; ←Controller10にimport文をいれてます。
------------------------------


Model10.javaの抜粋です
------------------------------
package mypackage;  ←Model10にpackage文をいれてます。
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
-------------------------------

JARやWARファイルをつくらなければ、パッケージしたことに
ならないのでしょうか・・・。
すみませんが、解決方法を教えてください。

A 回答 (1件)

>Controller10.javaと同じ階層に、mypackageのフォルダをつくり、


>その下に、Model10.classというJavaBeanをいれていて、
>なぜ解決できないのか、どうしてもわかりません。

その場所にclassファイルを置いてもjavac君は分かってくれません。
javacコマンドがmypackage.Model10を認識するためには、

1.mypackage.Model10.classにclasspathが通っているか、
2.mypackage.Model10.javaも同時にコンパイルするか、
3.mypcakage.Model10.javaにsourcepathが通っている

必要があります。

私のお勧めは3です。
    • good
    • 0

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