- PR -

javaでパッケージが存在しませんというエラーについて

1
投稿者投稿内容
わく
ベテラン
会議室デビュー日: 2004/07/13
投稿数: 60
お住まい・勤務地: 九州
投稿日時: 2007-09-11 08:51
お久しぶりです。
久しぶりにjavaをしていたらパッケージについて困ってしまい
ました。本を参考にしていたのですがどうしてもわからないので
ご教授をお願いします。

[バージョン]
j2sdk1.4.1_03、Tomcat 4.1
[エラー内容]
Controller.java:9: パッケージ mypackage は存在しません。
import mypackage.searchbeen; ^
Controller.java:14: searchbeen にアクセスできません。
クラスファイル C:\\search\\searchbeen.class は不正です。
クラスファイル mypackage.searchbeen に不正なクラスがあります。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
searchbeen been =null;
[ソース]-Controller.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.RequestDispatcher;
import javax.servlet.ServletContext;

import mypackage.searchbeen;

public class Controller extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException ,IOException{

searchbeen been =null;
try{
been=(searchbeen)java.beans.Beans.instantiate(
this.getClass().getClassLoader(),"mypackage.searchbeen");
been.setSearch1(req.getParameter("search1"));
}catch(Exception ex){
ex.printStackTrace();
}

req.setAttribute("mybeen",been);

String target="/Search.jsp";
ServletContext context=getServletContext();
RequestDispatcher rd=context.getRequestDispatcher(target);
rd.forward(req,res);
}
}

-searchbeen.java-
package mypackage;
import java.io.*;

public class searchbeen implements Serializable{
private String sea1=null;
private String seaht1=null;

private String BaseHtml=null;

public searchbeen(){
BaseHtml="http://www.google.co.jp/search?q=";
}

//Getter(検索キーワード)
public String getSearch1(){
return sea1;
}

//Getter(検索ページ)
public String getHtml1(){
return seaht1;
}

//Setter(検索キーワード&検索ページ)
public void setSearch1(String se1){
sea1=se1;
seaht1=BaseHtml + se1;
}

}
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-09-11 11:13
コンパイル時のエラーですか?
クラスパスが通っていないのでは?
わく
ベテラン
会議室デビュー日: 2004/07/13
投稿数: 60
お住まい・勤務地: 九州
投稿日時: 2007-09-11 12:38
nagiseさん
返信ありがとうございます。

クラスパスの件ですが、Beanの方は、コンパイルが通っているので
クラスパスのせいではないとおもいます。

何かお気づきの方がいましたらご教授願います。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-09-11 12:41
引用:

クラスファイル C:\\search\\searchbeen.class は不正です。


パッケージの階層とフォルダ階層が違うのでは?
mypackageというパッケージならmypackageフォルダに置かないと。
わく
ベテラン
会議室デビュー日: 2004/07/13
投稿数: 60
お住まい・勤務地: 九州
投稿日時: 2007-09-11 12:57
すいませんでした。
自分がパッケージというものを勘違いをしていました。

パッケージのフォルダを作成したらコンパイルが成功しました。

どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)