javaバッチプログラムをLinux上でサービス登録する方法

このQ&Aのポイント
  • 初心者の方に向けて、javaで作成したバッチプログラムをLinux上でサービスとして登録する方法を解説します。環境構築から実行時のエラーまで詳しく説明しています。
  • javaバッチプログラムをLinux上でデーモンとして登録する際に発生するエラーについて、原因と解決方法を解説します。無論、参照するクラスのpathが通っている場合でもClassNotFoundExceptionが発生することがあります。具体的な記述例も掲載しています。
  • 参照するクラスがpathに存在するにも関わらずClassNotFoundExceptionが発生する際には、起動ユーザーのパーミッションや環境設定などを確認してみましょう。また、デバッグモードで起動することで詳細なログを出力することも可能です。初心者の方でもわかりやすく説明しています。
回答を見る
  • ベストアンサー

サービスとして登録したい

初めまして。 どうしても原因が分からずに困っているいます。 どなたご教示お願いいたします。(初心者です) ・環境  OS・・・fedora7 java ・・・JDK 5.0 Update 13 tomcat ・・・ apache-tomcat-5.5.25 ・やりたいこと  javaで作成したバッチプログラムをLinux上でサービスとして 登録したい。shellを作成して単純に起動すればよいのですが、 理由があって「jsvc」を使用してデーモンとして登録したいのです。 一応環境はできたのですが、実行すると以下のようなエラーがでます。   java.lang.ClassNotFoundException:daemon.DeamonLoader 無論、見つからないと言っているクラスもpathが通っています。  こんな感じで、記述してしています。  $CATALINA_HOME/bin/jsvc-src/jsvc \ -user $TOMCAT_USER \ -home $JAVA_HOME \ -wait 10 \ -debug \ -pidfile $PID_FILE \ -outfile console.log \ -errfile '&1' \ -cp $CLASSPATH \ DeamonLoader \    起動ユーザのパーミッション等、色々やってみたのでが 上手くいきません。 あまり経験している人はいない思いますが、どなたか助けてください。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#199419
noname#199419
回答No.1

jsvcは遊び程度でしか使ったことがありませんが こちらの一番下にそれっぽい記述があるので参考になれば幸いです。 http://www.oki.com/jp/oss/document/tomcat/tomcat-docs-ja/setup.html このように Tomcat を実行するには,あなたの実行時クラスパスに Commons-Daemon JAR ファイルがなければならないことに注意してください。 Commons-Daemon JAR ファイルは bootstrap.jar のマニフェストの Class-Path 項目にありますが,もしも jsvc を起動したとき,Commons-Daemon クラスに対して ClassNotFoundException または NoClassDefFoundError をくらうようならば, Commons-Daemon JAR を -cp 引数に加えてください。

goonobu
質問者

お礼

oda_susu様 早々のご回答有難うございました。 「jsvc」検索してもなかなか引っかからずに困っていました。 上記のサイト参考にさせていただきます。 記入頂いた方法で、再度、昼からテストを行ってみます。 また不明点等在りましたら、ご教示のほど宜しくお願いします。

関連するQ&A

  • Tomcatがサービス起動しない

    Servlet,JSPでシステムを構築しています。 Tomcatをインストールしたところ,なぜか%CATALINA_HOME%\bin\startup.batからでないと起動しません。管理ツールのサービスから起動しようとすると「サービス起動中にエラーが発生しました」と出て起動ができません。 開発用クライアントやサーバではそのような問題は出ていないのですが,本稼動用のサーバでのみそういった症状がでます。原因が良くわからずに困っています。 ------------------------- JAVA SDK 1.4.2 Tomcat 5.0.19 OS:Windows2000 Server Apache 2.0.49 JAVA_HOME=C:\j2sdk1.4.2 CATALINA_HOME=C:\Progra~1\Apache~1\Tomcat~1.0 (C:\Program Files\Apache Software Foundation\Tomcat 5.0)です。 ----------------------------

  • 全然分かりません・・

    J2SEとtomcat5.0をインストールし、C:\j2sdk1.4.2_11とC:\Tomcat5としてインストールしました。 環境変数は変数名/変数値 CATALINA_HOME/C:\Tomcat5 CLASSPATH/.;%JAVA_HOME%\lib\tools.jar;C:\Tomcat5\common\lib\servlet-api.jar JAVA_HOME/C:\j2sdk1.4.2_11 PATH/%JAVA_HOME%\bin と設定しました。 普通にJAVAなども使えてtomcatも起動できるのですが、 http://www.hellohiro.com/servlet.htmで、HelloWorldServlet.javaをDL、コンパイルしclassを作って、C:\Tomcat5\webapps\servlets-examples\WEB-INF\classesなどに置いたのですが、 http://localhost:8080/examples/servlet/HelloWorldServletを実行しても HTTPステータス 404 - /examples/servlet/HelloWorldServletのエラーとなってしまいます。 色々なサイトを回って試したのですが、http://f44.aaa.livedoor.jp/~takamura/www/tomcat.htmlのサイトを参考に、 http://localhost:8080/のTomcat Administrationからログインして説明通りにやろうとしたら、CATALINA_HOMEの間違ったうちにやってしまったのかわかりませんが、コンテキストは既に存在しています、となってしまったりしました。 そのへんはやる必要なかったのかもしれませんが、tomcat5.0の場合は、 C:\Tomcat5\conf\Catalina\localhostに、C:\Tomcat5\webapps\の中に作成した自分で決めた名前のxmlを作成したりするらしいのですが、わかりやすく解説してあるサイトはありますでしょうか・・? tomcatを起動している最中に、http://localhost:8080/に続くアドレス で自分で用意したclassとxmlから、一番簡単なサーブレットを動かしてみたいです。よろしくお願いします。

  • 【TomcatプラグインでTomcatが起動しません。】

    【TomcatプラグインでTomcatが起動しません。】 今、サーバサイドJavaの勉強をしようと思い、TomcatとeclipseのTomcatプラグイン を入れました。 eclipseのUIにTomcatプラグインの表示がでているので、プラグインのインストール そのものは上手く行ってると思います。 環境変数など、色々触ってみたのですが状況に変化なしです。 環境変数については、色々webで調べてみたのですが、JAVA_HOMEとCATALINA_HOMEを設定 するようにとあったので、それを設定してみたのですがだめでした。 JAVA_HOMEはJDKのインストールディレクトリ、CATALINA_HOMEはTomcatのホームディレクトリ でいいと思うのですが・・・・ 当方の環境 OS:windowsXP pro Tomcatのバージョン:6.0 JDKバージョン:1.6.0_17 何かアドバイスなどありましたらお願いいたします。

  • javaのコンパイルがうまくいきません。

    現在javaのFileUploadクラスを使用してファイルをサーバへアップロードするアプリケーションを作成しております。 コンパイルにはANTを使用しています。 動作環境: WindowsXP sp2 jdk1.5.0_10 tomcat5.5.23 Apache Ant 1.7.0 現象: 作成したjavaファイルをコンパイルしようとするとDiskFileUploadクラスとFileItemクラスまたHttpSessionクラスのシンボルを見つけられませんとなりコンパイルが通りません。 環境変数: JAVA_HOME = "c:\Program Files\java\jdk1.5.0_10" ANT_HOME = "C:\Program Files\Apache Software Foundation\apache-ant-1.7.0" CATALINA_HOME = "C:\Program Files\Apache Software Foundation\Tomcat 5.5" path = "%JAVA_HOME%\bin;C:\Program Files\Apache Software Foundation\apache-ant-1.7.0\bin" CLASSPATH = ".;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\commons-fileupload-1.2.jar;%CATALINA_HOME%\common\lib\commons-io-1.3.2.jar" となります。 tomcatのcommon\libがうまく参照できていないからなのでしょうか? とすればそれはなぜなのでしょうか? ご教授いただければと思います。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • CATALINA_HOMEの取得方法について

    Webアプリケーション(Javaサーブレットベース)のインストーラ作成に関して、質問がございます。 Tomcat4.0のホームディレクトリ(CATALINA_HOME)を取得し、その情報をもとにWebアプリケーションの自動インストールを考えております。 しかし、現状CATALINA_HOMEの取得方法が見つからないため苦労しております。 ちなみに、Tomcat3.2の場合(TOMCAT_HOME)は、java.lang.System.getPropertyメソッドで取得することができます。 質問の内容は、以下の3項目です。 1.CATALINA_HOMEを取得する方法はあるでしょうか? 2.Tomcat4.0の導入時に、CATALINA_HOMEって必ず設定されているもの   なのでしょうか? 3.何か参考にできる既存のインストーラはありませんでしょうか? 以上の結果、CATALINA_HOMEを取得できないと判った場合には、Tomcatのホームディレクトリをインストール時にユーザに指定させる方向で考えております。 ちなみに、インストーラは、InstallAnywhere 4.5 Enterprise で WWWサーバ環境は、Win2000、WinNT、Linuxを想定しております。

    • ベストアンサー
    • Java
  • java(JSP/サーブレット)

    java(JSP/サーブレット)にて作成したwarファイルを 「CATALINA_HOME\webapps」へ配置したのですが動作しません。 <環境> Apache Tomcat6.0 Eclipse3.4(pleiadesからダウンロードしました) 原因として考えられる事は何があるのでしょうか?

    • ベストアンサー
    • Java
  • Tomcatの設定について教えてください

    Tomcatをインストールして起動はするんですけど、コマンドプロンプトで、cdコマンドでディレクトリを探そうとしてるんですけど、見つかりません。環境変数の設定には CATALINA_HOME:C:\Program Files\Apache Software Foundation\Tomcat5.5 JAVA_HOME:C:\Program Files\Java\jdk1.5.0_07 を追加してます。他に設定する事があるのでしょうか?

    • ベストアンサー
    • Java
  • tomcatの「CATALINA_HOME」と「TOMCAT_HOME」って・・・

    tomcat4.1.24をインストールしたのですが 環境変数PATHは「TOMCAT_HOME」でいいのでしょうか? それとも「CATALINA_HOME」でしょうか? Tomcat4.0b1では「CATALINA_HOME」だそうですが、 これは、Tomcat4.0b1だけで、他のヴァージョンは全部 TOMCAT_HOMEで設定していいのですか?? すみませんが、もし分かる方いたら教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Tomcat で ポート8080 が使えない

    Linux初心者です。 サーバサイドJAVAの勉強を目的として、 Fedora Core 4 に、下記の Tomcat をインストールしました。 apache-tomcat-5.5.23.tar.gz インストール(解凍)は、下記のディレクトリです。 /usr/local/apache-tomcat-5.5.23 環境変数 CATALINA_HOME の設定も間違いなく行いました。 環境変数 PATH への $CATALINA_HOME/bin の追加も行いました。 Tomcat の起動コマンド startup.sh は正常に動作しているように見えます。 ps aux | grep -i tomcat してみたところ、動作しているようでした。 にもかかわらず、Webブラウザにて http://localhost:8080/ が接続拒否をくらってしまいます。ブラウズできません。 原因として、どのようなことが考えられるでしょうか。 すみませんが、Linux初心者にも理解できるよう、平易な回答や アドバイスをいただけると、たいへん助かります。 どうぞよろしくお願いいたします。

  • OSXにTomcatをインストールする方法

    OSXserverを買うお金がないのでOSXをサーバー用OSに仕立てたいのですが、tomcatがインストール出来ません。 TomcatをDLしてフォルダ名をtomcatにしてUser直下に置いて Terminalからrootになり 下記のようにコマンドを打ってインストールしようとするのですが、 setenv JAVA_HOME /Library/Java/Home setenv CATALINA_HOME /usr/local/tomcat ここまではうまくいき tomcatを起動するコマンド $CATALINA_HOME/bin/startup.sh を打つと /usr/local/tomcat/bin/startup.sh: Command not found. と出て起動出来ません。 これはやっぱりコマンドが間違ってるのでしょうか? UNIXの知識は0に等しいので誰かご教授願います。

    • ベストアンサー
    • Mac

専門家に質問してみよう