Tomcatのサンプルを実行するとエラー – プログラミング – Home

Tomcatのサンプルを実行するとエラ...
 
通知
すべてクリア

[解決済] Tomcatのサンプルを実行するとエラー


さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

Tomcatのサンプルを実行すると以下のようなエラーが出てしまいます。
(しかも昔は特に設定は変更していないのですが動いていたと思います)

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from
fulfilling this request.

exception

org.apache.jasper.JasperException: JSPのクラスをコンパイルできません

JSPファイル: null の中の行: -1でエラーが発生しました

生成されたサーブレットのエラーです:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
[javac] Exception in thread main

at org.apache.jasper.compiler.DefaultErrorHandler.javacError
(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError
(ErrorDispatcher.java:293)

----------------------------------------------------------------------
Tomcatを起動すると
2003/05/20 6:47:36 org.apache.commons.digester.Digester error
致命的: Parse Error at line 32 column 11: The content of element type web-app
must match (icon?,display-name?,description?,distributable?,context-param*,serv
let*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-pag
e*,taglib*,resource-ref*,security-constraint*,login-config?,security-role*,env-e
ntry*,ejb-ref*).
org.xml.sax.SAXParseException: The content of element type web-app must match
(icon?,display-name?,description?,distributable?,context-param*,servlet*,servle
t-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,
resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-r
ef*).
等と、
致命的なエラーが出ているようです。
どなたかこのような現象をご存知でしょうか?

tomcat4.1.24
JDK1.4.1_02


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

この現象については、よく分かりませんが、
web.xmlファイルの32行目の11列にエラーがあり、
<web-app>の子要素として使用できる<icon>,<display-name>,...
以外の要素があると出ています。
この点については確認なさいましたか。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

dairygoodsさん。ご返答感謝です。
しかし、web.xmlを確認してみたのですが、特に間違っている箇所はなさそうです。

ためしに同じバージョンのTomcatをダウンロードして実行したところ
なぜか致命的以下のエラーが消えました。
でも、サンプル実行時の以下のエラーは同じように出ました。

org.apache.jasper.JasperException: JSPのクラスをコンパイルできません

JSPファイル: null の中の行: -1でエラーが発生しました

生成されたサーブレットのエラーです:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
[javac] Exception in thread main

設定がおかしいのか、環境系の問題なのかもしれません。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> [javac] java.lang.NoClassDefFoundError: com/sun/tools/javac/Main

JDKに付属の tools.jar にクラスパスが通っていないのかもしれません。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

確認したところ、クラスパスは以下のようになっています。
CLASSPATH=.;D:\j2sdk1.4.1_02\lib\tools.jar;D:\j2sdkee1.3.1\lib\j2ee.jar;D:\jakar
ta-tomcat-4.1.24\common\lib\servlet.jar;
tools.jarにクラスパスが通っていないという理由ではないようです。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

最近、プログラム自体書いてなかったのですがjavacコマンド自体が
ちゃんと動かなくなっていることに気づきました。

javacコマンドを打つとこのようになってました。
D:\Java\>javac Hello.java
Exception in thread main java.lang.NoClassDefFoundError: com/sun/tools/javac/M
ain

この前まで動いていたはずなのに...


返信引用
草
 草
(@草)
ゲスト
結合: 22年前
投稿: 25
 

java -version
を行ってみて、自分の実行しているJavaのVM、コンパイラ
を確認してみた方がよいかもしれません

Tomcat4.1の場合、CLASSPATHはみていません。
JAVA_HOMEを取得後内部で生成したクラスパスを用いているため
外部のクラスパスをいくらいじっても反省されないので
注意が必要です。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

java -versionをやってみましたが、正常のようです。
java version 1.4.1_02
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06)
Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode)

すぐ時間がとれないのですが、JDKの再インストールも試してみようと思います。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

解決しました。

dairygoodsさんのいわれた↓が原因でした。
>JDKに付属の tools.jar にクラスパスが通っていないのかもしれません。

クラスパスは確認したのですがなんと、tools.jarの名前を
自分で変更していました。みなさんありがとうございました。

ところでtools.jarをtools.jar.zipに変えていました。
というのもzipに変えるとダブルクリックで簡単に中身が見れるからです。
みなさんはどのようにjarファイルの中身を確認していますか?


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> みなさんはどのようにjarファイルの中身を確認していますか?

私の場合、たいていは解凍してしまいます。
拡張子に関係なく解凍可能なツールがあると便利です。

たとえば、
http://member.nifty.ne.jp/beambitious/


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

情報ありがとうございます。eo使ってみました。でも僕が持っているものと使い勝手的に
はかわらないようです。
理想は、LHAユーティリティ32みたいにどこかに解凍しなくても中身が
みれるのがいいですね。これで拡張子がZipのものは思い通りにいくんですけど
拡張子がjarとかだとLZH形式と判断されてしまい解凍できないんです。
ウィンドウズXPでZIPファイルをダブルクリックしたときの動きも良いですね。
ないものねだりですかね~。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> ウィンドウズXPでZIPファイルをダブルクリックしたときの動きも良いですね。

それならば、.jarを.zipと同様の関連付けにすれば可能です。

フォルダオプションからはそのような細かい設定はできないので、
レジストリを直接操作することになります。
HKEY_CLASS_ROOT\.zip 以下の内容を
HKEY_CLASS_ROOT\.jar 以下にコピーすればOKです。


返信引用
さんた
 さんた
(@さんた)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

>HKEY_CLASS_ROOT\.zip 以下の内容を
>HKEY_CLASS_ROOT\.jar 以下にコピーすればOKです。
なるほど~、jarファイルも↑のようにやれば関連付けできるんですね~。
さっそくやってみました。Javaとはあまり関係のない話題なのにつきあってもらってあり
がとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました