- - PR -
パッケージの作成について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-11-26 18:23
はじめまして。MA33ともうします。カスタムクラスを使用したjspを作ろうとしていますが
自分が使用しているTomcatでは、パッケージにしないと動かないらしいので、 とりあえず、カスタムクラスの先頭にpackage mycust;と追加しコンパイルしました。 その後作成されたクラスファイルをjarコマンドで、mycust.jarとし、CLASSPATHに追加しましたが、いざ実行してみると、jspの1行目 importのとろこで、mycustというパッケージが 存在しないとのことで、エラーとなってしまいます。 *ちなみにカスタムクラスを使用しないjspについては正常に動作します。 自分の環境と、カスタムクラス名、CLASSPATH、jspのimport部は下記のとおりです。 不足な部分がありましたら追記いたします。 初心者なので、何を言っているかよくわからないとは思いますがよろしくお願いいたします。 Tomcat 4.1.29 j2sdk1.4.1_05 カスタムクラス(MyFileReader.java) MyFileReader.class CLASSPATH D:/usr/src/jar/mycust.jar jspのimport部 <%@ page contentType="text/html; charset=Shift_JIS" import="mycust.*,java.io.*" %> | ||||
|
投稿日時: 2003-11-26 18:52
CLASSPATH 環境変数は Tomcat を起動する JVM のクラスパスに反映されていますか?
別の方法、というか Webアプリケーションとしては正攻法ですが、WEB-INF/lib に mycust.jar を配置する方法もあります。 | ||||
|
投稿日時: 2003-11-26 19:03
インギさんレスありがとうございます。
現在CLASPATHには3つのパスが設定されています。 1.%CATALINA_HOME%\common\lib\servlet.jar 2.%JAVA_HOME%\lib\tools.jar 3.D:\usr\src\jar\mycust.jar Tomcat を起動する JVM のクラスパスというのは1のことでしょうか? また、WEB-INF/lib に mycust.jarを配置した場合はCLASSPATHを設定しなくとも よいのでしょうか? | ||||
|
投稿日時: 2003-11-26 19:07
WEB-INF/libにjarファイルを追加した場合、クラスパスの設定は必要ありません。 今回の場合、わざわざjarにしなくても、ソースをコンパイルしたあとWEB-INF/classes にコピーして、 WEB-INF/classes/mycust/MyFileReader.class があればよいと思います。 | ||||
|
投稿日時: 2003-11-26 21:31
ところでjarコマンドでアーカイブするときディレクトリ構成ごと追加しましたか?
| ||||
|
投稿日時: 2003-11-28 14:37
返事が遅くなりまして申し訳ありません。
jarコマンドでアーカイブするときは、ディレクトリ構成を無視してやっていました・・・。 これが駄目だったのでしょうか? | ||||
|
投稿日時: 2003-11-28 19:38
あーなんか、別の場所で答えた質問の続きのような気がする。なんでわざわざ別の場所で
続きの質問をするんでしょうか。 ま、それはともかく、
だめです。今回の例で言えばmycustというフォルダがトップに来るような構成になって いなければなりません。 | ||||
|
投稿日時: 2003-11-28 19:58
例えば classes/mycust/*.class という構成になっていた場合、srcディレクトリに移動し、 jar cvf mycust.jar mycust とすればmycustパッケージを含んだmycust.jarが生成されます。 また、 jar -tf jarファイル名 でjarの中のパッケージ構成が確認できます。 | ||||
