SDKのコンバイルについて

[上に] [前に] [次に]
だいすきなうた 2000/06/09(金) 09:56:04
SDK1.2を使用してServletを作成しているのですが、

他のファイルに作成した、クラスがコンパイルの時参照できなくて
困っています。
(クラスが見つかりません、 未定義なクラスです等のエラーが
   出力されます。)

初めて他ファイルを参照使用するので、宣言等に不備があると
思いますが、よろしくお願いします。m(__)m

FILEAからFILEBのDocManagerを参照しようとしています。
友人曰く、DocManager.classをカレントに置いておけばOKと言って
います。

1:FILEA

import org.w3c.dom.Element;
import com.ibm.xml.parser.TXDocument;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpUtils;

public class DocInput extends HttpServlet {
    // ここで参照してます。
    DocManager docman = DocManager.getInstance();

    public void doGet(HttpServletRequest req,
                      HttpServletResponse res)
        throws ServletException, IOException {
        res.setContentType("text/plain; charset="
                           +docman.getEncoding());
        PrintWriter writer = res.getWriter();
        writer.print(this.docman.getString("docman.input.get"));
        writer.close();
    }
    −−−−−−−−−−− 以後省略


2:FILEB

import com.ibm.xml.parser.Parser;
import com.ibm.xml.parser.TXDocument;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.text.DateFormat;
import java.text.MessageFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class DocManager {
ResourceBundle resource = null;
String workdir = null;
String seqfilename = null;
TXDocument[] docs;
int next;

static DocManager theInstance = null;

/*** 唯一のインスタンスを返す。*/
public static DocManager getInstance() {
if( DocManager.theInstance == null ){
DocManager.theInstance = new DocManager();
}
return DocManager.theInstance;
}

/*** リソースファイル"docman.properties"を読む、など。*/
private DocManager() {
// docman*.propertiesを読む
try {
this.resource = ResourceBundle.getBundle("docman");
} catch (MissingResourceException mre) {
mre.printStackTrace();
}
// seqファイルには文書数が書いてある
this.seqfilename = this.getWorkDirectory()+"seq";
this.next = 0;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(this.seqfilename));
String line = br.readLine();
if( null != line ){
line = line.trim();
this.next = Integer.parseInt(line);
}
br.close();
} catch( NumberFormatException nfe ){
try {
br.close();
} catch( IOException ioe ){}
} catch( IOException ioe ){
// 読めなかったら0
}

// DOMを格納する配列を作成
this.docs = new TXDocument[this.next < 20 ? 20: this.next*2];
}

         −−−−−−−−−−−以後省略

Fuji.♪ [E-Mail] [HomePage] 2000/06/09(金) 10:13:27
SDK・・・JDKかな?Servletだし。

あんまり詳しくないんですけど、CLASS_PATHの設定とかでしっかり参照される場所にそのファイルは存在しているのでしょうか?
この場合、CLASS_PATHに.(カレントディレクトリ)は含まれているのか、ですね。

#こういう場合はコンパイルエラーのメッセージを写してもらったほうが良いかもしれません。

だいすきなうた 2000/06/09(金) 10:22:40
Fuji.♪さん ありがとうございました。

CLASS_PATHにカレントを加えてみたらうまくできました。(^^;;
お手数お掛けしましたm(__)m

だいすきなうた 2000/06/09(金) 13:02:51
[[解決]]
済み

[上に] [前に] [次に]