今tomcatをNT4.0(IIS4.0)にインストールしてるんですが、どうもうまく起動しません。このページ
(http://www.slayers.imasy.or.jp/~kumasaka/Gyoumu/ …)
どうりインストールしたのですが、どうしても二つ目(tomcatが起動すると思われる方)のdos窓がすぐ閉じてしまいます。(この時"Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/tomcat/startup/tomcat"というメッセージが表示されます)
なにか考えられる原因はありますか?どうすれば起動しますか?

このQ&Aに関連する最新のQ&A

A 回答 (6件)

TOMCATをインストールしたままの状態で,tomcatをインストールしたディレクトリ\bin\startup.batを起動する限

り,TOMCAT_HOMEの設定は必要ありません.(startup.batを他のディレクトリへコピーして使用する場合は必要です)今回の原因は,環境変数JAVA_HOMEの設定がなされていないような気がします.JAVA_HOMEをJAVAがインストールされているディレクトリ(例えば,c:\jdk1.4)に設定して,試してみてください.
    • good
    • 0

No.4に一部誤りがありました。


pauseはstartup.batの最後に一行挿入、先頭のecho offをコメント行に。
で、表示されるtomcatのパスおよびCLASSPATHが正しいかを確認します。

NTのシステム環境変数にTOMCAT_HOMEを正しくセットしてますか?
    • good
    • 0

たぶん、tomcat.batがうまく動いていない状況ですね。


tomcat.batの最後にpauseを一行いれて、バッチファイルの
どこでおかしくなっているかを調べてみましょう。
TOMCAT_HOMEの環境変数あたりだと思うのですが、、、、

あとは、startup.batをどこから起動しているかぐらいですかね。
もし、ディスクトップにショートカットを作って起動するように
してるならばショートカットのプロパティの作業フォルダに
ドライブ:¥tomcatのディレクトリ¥bin
のパスを入れてください。
    • good
    • 0

> IISに関連するところを設定しないとtomcatは起動しないのでしょうか?



言われてみると、確かに単独で動いてくれてもいいなあ、という気はしますね。
直接ポートを指定すれば、httpd を経由しないわけだし。

何故、IIS に特化したあたりではないか、という根拠は、質問にあるメッセージです。

ここでは main のスレッドで「クラス定義が無い」って例外が出ていますよね。
で、そこに org/apache/tomcat… ってあるものだから、startup の中で
何か判断をして apache だと思って動こうとしたのだけれど、apache が
インストールされてないや、って感じのエラーかと想像したわけです。


# ん~、アドバイスにもなっていませんね (^^;
    • good
    • 0

taku13 さんが「このページ通り」と言われているページには、IIS に特化した


部分の記述がありませんが、そのあたりはきちんとしていますか?

私は、apache を使った場合しか経験が無いですが、多分、そのあたりが
原因だと想像します。

参考URLのドキュメントや、以下のページが参考になるかと思いますよ。
http://www.nsg.co.jp/nbb/ss/joy/ig001018.html

参考URL:http://www.ingrid.org/jajakarta/tomcat/tomcat-3. …

この回答への補足

アドバイスありがとうございます。

補足というかまた質問なのですが、IISに関連するところを設定しないとtomcatは起動しないのでしょうか?たとえばの話なのですがクライアントPCにセットアップしたら起動すらしてくれないのでしょうか?今状況としては起動も出来てない状況なのでIISとの協調などはまだ手をつけようとは思えないのですが・・

補足日時:2001/08/07 19:12
    • good
    • 0

どうもこんにちはー。


自信は全然ないのですが、エラーからわかるのはパスを通せってことなんじゃないですか?クラスが見つからない、って言ってるみたいだから。。。
tomcatをインストールする際の説明にどこか書いてあるはずだと思いますが…。(ちなみにパスの通し方はご存知ですよね?95/98、2000/NTによって方法は違います。わからなければ補足要求してくださいね)
あと、エラーの文字列の中にstartupともあるからwindowsの
スタートアップにtomcatを設定する必要もあるのじゃないかな???
tomcatは使ったこと無いから質問から推測してみました。
どうでしょう?
    • good
    • 0
この回答へのお礼

素早いレスありがとうございます。
もう一度パスなど間違いないか確認したいと思います。

お礼日時:2001/08/07 19:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QApache Tomcat/4.0.6 - HTTP Status 404

はじめまして、初心者です。よろしくお願いします。
test.htmlを下記フォルダに置き、ブラウザから
http://localhost:8080/sample/test.htmlを指定すると
HTTP Status 404エラーで表示できません。

webapps
 +--- sample
   +---test.html
   +--- WEB-INF
     +--- web.xml

*http://localhost:8080/は表示できます。
 
環境は、
win2k
Apache tomcat4.0.6です。

どんな原因が考えられますでしょうか?

よろしくお願いします。

Aベストアンサー

Apache Tomcat というのはただの Tomcat のことで、
WWW サーバとしての Apache を指してるのではないのでしょう。

web.xml の記述が間違っていて、
コンテキストのロードに失敗している、というのが
まず考えられます。
そうだとしたら、ログにスタックトレースが吐き出されて
いると思うので、まずそれを確認してみるとよいです。

QJBoss-2.4.6_Tomcat-4.0.3で、Tomcatと共に、動かす時。

JBoss_2.4.4-Tomcat_3.2.3を動かすには、僕の買った本にはrun.batでは、tomcat.earを動かそうとして、エラーがでるので、run_with_tomcat.batを使って動かすと書いてあるのです。


しかし、僕はJBoss-2.4.6_Tomcat-4.0.3をダウンロードしてきたんですが、


JBoss-2.4.6_Tomcat-4.0.3にはrun_with_tomcat.batはありません。run_with_catalinaというのはあるのですが、それを使うと、エラーがでます。

誰か知っている人がいたら、教えて下さい。

Aベストアンサー

> IEのアドレスバーに http://localhost:8080 と入力すると、The Jakarta Projectと書いてある、Tomcatの猫の、ホームページが表示されます。

run_with_catalina.bat(sh かな?)の起動時にエラーが発生して、かつhttp://localhost:8080 で、tomcat が動いているということは、tomcat単体(Apacheと連携してるにせよ)で動いていると言うことですね

この場合、run_with_catalinaを起動すると、tomcat が2重で起動されてしまいます。このとき、先に動いているtomcatがポート8080を使っているため、後から起動された方はポートへのアクセスができずにエラーになります。

対策としては、
1.先に動いているtomcatは止めて、run_with_catalina を使ってtomcatを動かす
2.とりあえず現状のまま更にrun_with_catalina を動かしたいなら、jbossから
  起動されるtomcatのポート番号を変更する
  <jbossをインストールしたディレクトリ>jboss/conf/catalina/jboss.jcml
  というファイルに port = "8080" と記述された個所があるので、これを
  port = "9001" ぐらいの適当な値に変更する
のいずれかでしょうか。。。

jbossを使っていろいろやってみるということであれば、1の方をお勧めします

> IEのアドレスバーに http://localhost:8080 と入力すると、The Jakarta Projectと書いてある、Tomcatの猫の、ホームページが表示されます。

run_with_catalina.bat(sh かな?)の起動時にエラーが発生して、かつhttp://localhost:8080 で、tomcat が動いているということは、tomcat単体(Apacheと連携してるにせよ)で動いていると言うことですね

この場合、run_with_catalinaを起動すると、tomcat が2重で起動されてしまいます。このとき、先に動いているtomcatがポート8080を使っているため、後か...続きを読む

Qorg.apache.tools.zip.* を使って圧縮したZIPファイルを開くとエラーとなってしまう

お世話になります。

開発環境は以下のとおりです。
開発ツール NetBeans IDE 6.5
JDK 1.6.0_11
OS Windows XP SP2
ant.jar version 1.7.1

はじめ、JDK付属の「java.util.zip.ZipOutputStream」,「java.util.zip.Entry」を用いて、
ZIPファイルを作成していたのですが、
日本語名のファイルを圧縮すると文字化けしてしまい、
調べてみるとJakart Ant内のant.jarの「org.apache.tools.zip.ZipOutputStream」,「org.apache.tools.zip.Entry」を使って
import宣言を変えてsetEncodingしてしまえば簡単に出来るという情報がありました。

早速やってみたのですが、
1.ZIPファイルは作成される。このときファイルサイズがjava.util.zip.*を使ったときと同じ
2.LhaplusやWinRARといった解凍ツールを使って解凍するとエラーが
発生して中身がない
3.日本語が含まれないファイルを圧縮・解凍しても同じ現象
4.java.util.zip.* を使ったときは正常に圧縮・解凍できる(文字化けはしていますが・・・)
といった状況になってしまいました。

ロジックを何度も見直し、ZipOutputStreamのflush、closeもしっかり行っていますし、CRC32の設定やファイルサイズの設定も手順どおりにやっているつもりです。

どなたかご存知のかたがいらっしゃいましたらご教授の程、よろしくお願いいたします。

お世話になります。

開発環境は以下のとおりです。
開発ツール NetBeans IDE 6.5
JDK 1.6.0_11
OS Windows XP SP2
ant.jar version 1.7.1

はじめ、JDK付属の「java.util.zip.ZipOutputStream」,「java.util.zip.Entry」を用いて、
ZIPファイルを作成していたのですが、
日本語名のファイルを圧縮すると文字化けしてしまい、
調べてみるとJakart Ant内のant.jarの「org.apache.tools.zip.ZipOutputStream」,「org.apache.tools.zip.Entry」を使って
import宣言を変えてsetEncodingしてしまえば簡単に...続きを読む

Aベストアンサー

具体的なコードが無いので何とも言いようが無いのですが、
以下のコードで試してみてください。
私の環境では、問題なく動作しているクラスです。

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipException;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import org.apache.tools.zip.ZipOutputStream;


/**
*
* 複数のファイル及び、サブディレクトリを含めたディレクトリを
* zip圧縮・解凍する為のクラスです。
*
* @author HarukaV49
*
*/
public class FileZip {

private static final int EOF = -1;
private static final int ZIP_BUFF_SIZE = 1024;

/**
* デフォルト(ファイル名解析)エンコーダを使用してファイル及びディレクトリをZIP圧縮します。
* @param zipFilename 作成されるZIPファイル名
* @param targetFiles 圧縮対象のファイル及びディレクトリ名列
* @return 作成されたZIPファイル
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File zip(String zipFilename, String... targetFiles) throws ZipException, FileNotFoundException, IOException {
return zip(zipFilename, targetFiles, null);
}
/**
* ファイル及びディレクトリをZIP圧縮します。
* @param zipFilename 作成されるZIPファイル名
* @param targetFiles targetFiles 圧縮対象のファイル及びディレクトリ名配列
* @param encoding ファイル名解析エンコーダ名(<A HREF="http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html">一覧</A>)
* @return 作成されたZIPファイル
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File zip(String zipFilename, String[] targetFiles, String encoding) throws ZipException, FileNotFoundException, IOException {
int n = targetFiles.length;
File[] files = new File[n];
for(int i=0; i<n; i++) {
files[i] = new File( targetFiles[i] );
}
return zip( new File(zipFilename), files, encoding);
}
/**
* ファイル及びディレクトリをZIP圧縮します。
* @param zipFile 作成されるZIPファイル
* @param targetFiles targetFiles 圧縮対象のファイル及びディレクトリ配列
* @param encoding ファイル名解析エンコーダ名(<A HREF="http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html">一覧</A>)
* @return 作成されたZIPファイル
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File zip(File zipFile, File[] targetFiles, String encoding) throws ZipException, FileNotFoundException, IOException {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
out.setEncoding(encoding);
for(int i=0; i<targetFiles.length; i++) {
int deleteLength = targetFiles[i].getPath().length() - targetFiles[i].getName().length();
zip(out, targetFiles[i], deleteLength);
}
out.close();
return zipFile;
}
private static void zip(ZipOutputStream out, File targetFile, int deleteLength) throws IOException {
if( targetFile.isDirectory() ) {
File[] files = targetFile.listFiles();
for(int i=0; i<files.length; i++) {
zip(out, files[i], deleteLength);
}
} else {
ZipEntry target = new ZipEntry( targetFile.getPath().substring(deleteLength) );
out.putNextEntry(target);
byte buf[] = new byte[ZIP_BUFF_SIZE];
int count;
BufferedInputStream in = new BufferedInputStream( new FileInputStream(targetFile) );
while( (count = in.read(buf, 0, ZIP_BUFF_SIZE)) != EOF ) {
out.write(buf, 0, count);
}
in.close();
out.closeEntry();
}
}

/**
* デフォルト(ファイル名解析)エンコーダを使用してZIPファイルを解凍します。
* @param filename ZIPファイル名
* @param outDir 解凍先ディレクトリ名
* @return 解凍されたファイルまたはディレクトリ
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File unzip(String filename, String outDir) throws ZipException, FileNotFoundException, IOException {
return unzip(filename, outDir, null);
}
/**
* ZIPファイルを解凍します。
* @param filename ZIPファイル名
* @param outDir 解凍先ディレクトリ名
* @param encoding ファイル名解析エンコーダ名(<A HREF="http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html">一覧</A>)
* @return 解凍されたファイルまたはディレクトリ
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File unzip(String filename, String outDir, String encoding) throws ZipException, FileNotFoundException, IOException {
return unzip( new File(filename), new File(outDir), encoding );
}
/**
* ZIPファイルを解凍します。
* @param filename ZIPファイル
* @param outDir 解凍先ディレクトリ
* @param encoding ファイル名解析エンコーダ名(<A HREF="http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html">一覧</A>)
* @return 解凍されたファイルまたはディレクトリ
* @throws ZipException ZIP例外
* @throws FileNotFoundException ファイル例外
* @throws IOException IO例外
*/
public static File unzip(File filename, File outDir, String encoding) throws ZipException, FileNotFoundException, IOException {
ZipFile zipFile = new ZipFile(filename, encoding);
@SuppressWarnings("unchecked")
Enumeration<ZipEntry> enumeration = zipFile.getEntries();
while( enumeration.hasMoreElements() ) {
ZipEntry entry = enumeration.nextElement();
if( entry.isDirectory() ) {
new File(entry.getName()).mkdirs();
} else {
File file = new File(outDir, entry.getName());
file.getParentFile().mkdirs();
FileOutputStream out = new FileOutputStream(file);
InputStream in = zipFile.getInputStream(entry);
byte[] buf = new byte[ZIP_BUFF_SIZE];
int size = 0;
while( (size = in.read(buf)) != EOF ) {
out.write(buf, 0, size);
}
out.close();
in.close();
}
}
zipFile.close();
return outDir;
}

}

具体的なコードが無いので何とも言いようが無いのですが、
以下のコードで試してみてください。
私の環境では、問題なく動作しているクラスです。

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipException;

import org.apache.tools.zip.ZipEntry;
impo...続きを読む

QTomcat4.0とApache1.3の連携で?

WindowsXPの環境でTomcat4.0とApache1.3を導入し、
Web開発を行っているのですが、両方を起動しても
うまく動作しません。

通常 http://localhost:8080/ で表示できるものが
   http://localhost/    でも表示できる
とのことですが、無理でした。

連携のためのコネクタは
mod_webapp.so を使っています。
また配置も C:\Program Files\Apache Group\Apache\modules の下に
設定しています。

Apacheのhttpd.confには
 LoadModule webapp_module modules/mod_webapp.so
 AddModule mod_webapp.so
 WebAppConnection conn warp localhost:8080
 WebAppDeploy examples conn /examples
とちゃんと記述しています。

起動時のメッセージは
---------------
[Fri Mar 21 23:55:43 2003] [warn] module mod_webapp.c is already added, skipping

Apache/1.3.26 (Win32) running...
---------------
と表示されます・・・・

なぜでしょうか?
教えてくださいm(__)m

WindowsXPの環境でTomcat4.0とApache1.3を導入し、
Web開発を行っているのですが、両方を起動しても
うまく動作しません。

通常 http://localhost:8080/ で表示できるものが
   http://localhost/    でも表示できる
とのことですが、無理でした。

連携のためのコネクタは
mod_webapp.so を使っています。
また配置も C:\Program Files\Apache Group\Apache\modules の下に
設定しています。

Apacheのhttpd.confには
 LoadModule webapp_module modules/mod_webapp.so
 AddModule...続きを読む

Aベストアンサー

mod_webappはいまいちのような気がします。
mod_jkが安定しています。
またはmod_jk,またはmod_jk2を
利用してみてはいかがでしょうか?

Q「org.apache.jsp」内のファイルは削除しても大丈夫?

サーブレットを勉強しています。Eclipseを使っています。

「org.apache.jsp」にあるjavaファイルは削除しても大丈夫なのでしょうか?削除してもJSPファイルがあれば、ブラウザから動かした時に、また問題なく動くのでしょうか?

PCが固まってしまって、強制終了したのですが、次に起動した時にそれまではエラーになっていなかった「org.apache.jsp」内のファイルがいくつかエラーになっていました。「org.apache.jsp」内のファイルというのはJSPファイルをいったんサーブレットに変換したもの(?)が格納されているのですよね?

ということは、削除しても、JSPファイルがあれば、またプログラムを動かせば新たに生成されて問題なく、動くのでしょうか?

よろしくお願いします。

Aベストアンサー

Javaファイルを削除しても問題ないです。

classファイルのタイムスタンプを比較して、Javaファイルを作成するか判定しているはずなので、classファイルも削除するほうがよいと思います。


人気Q&Aランキング

おすすめ情報