- PR -

パッケージの作成について

投稿者投稿内容
ho
会議室デビュー日: 2003/11/26
投稿数: 13
投稿日時: 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/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-11-26 18:52
CLASSPATH 環境変数は Tomcat を起動する JVM のクラスパスに反映されていますか?
別の方法、というか Webアプリケーションとしては正攻法ですが、WEB-INF/lib に mycust.jar を配置する方法もあります。
ho
会議室デビュー日: 2003/11/26
投稿数: 13
投稿日時: 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/02/14
投稿数: 114
お住まい・勤務地: 都内勤務
投稿日時: 2003-11-26 19:07
引用:

Ma33さんの書き込み (2003-11-26 19:03) より:
また、WEB-INF/lib に mycust.jarを配置した場合はCLASSPATHを設定しなくとも
よいのでしょうか?



WEB-INF/libにjarファイルを追加した場合、クラスパスの設定は必要ありません。
今回の場合、わざわざjarにしなくても、ソースをコンパイルしたあとWEB-INF/classes
にコピーして、
WEB-INF/classes/mycust/MyFileReader.class があればよいと思います。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2003-11-26 21:31
ところでjarコマンドでアーカイブするときディレクトリ構成ごと追加しましたか?
ho
会議室デビュー日: 2003/11/26
投稿数: 13
投稿日時: 2003-11-28 14:37
返事が遅くなりまして申し訳ありません。

jarコマンドでアーカイブするときは、ディレクトリ構成を無視してやっていました・・・。
これが駄目だったのでしょうか?
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-11-28 19:38
あーなんか、別の場所で答えた質問の続きのような気がする。なんでわざわざ別の場所で
続きの質問をするんでしょうか。

ま、それはともかく、

引用:

Ma33さんの書き込み (2003-11-28 14:37) より:
返事が遅くなりまして申し訳ありません。

jarコマンドでアーカイブするときは、ディレクトリ構成を無視してやっていました・・・。
これが駄目だったのでしょうか?



だめです。今回の例で言えばmycustというフォルダがトップに来るような構成になって
いなければなりません。
ちば
大ベテラン
会議室デビュー日: 2003/02/14
投稿数: 114
お住まい・勤務地: 都内勤務
投稿日時: 2003-11-28 19:58
引用:

Ma33さんの書き込み (2003-11-28 14:37) より:
返事が遅くなりまして申し訳ありません。

jarコマンドでアーカイブするときは、ディレクトリ構成を無視してやっていました・・・。
これが駄目だったのでしょうか?



例えば
classes/mycust/*.class
という構成になっていた場合、srcディレクトリに移動し、
jar cvf mycust.jar mycust
とすればmycustパッケージを含んだmycust.jarが生成されます。

また、
jar -tf jarファイル名
でjarの中のパッケージ構成が確認できます。

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