xamppのTOMCATを起動しよう
以前であればそのまま動いたような気がするんですが、動きませんでした。(2022/6/16現在: XAMPP controle panel ver3.3.0)。色々設定しないといけないようです。
環境変数を設定する
私はMicrosoftのOpenJDKを入れたので、このようになっていますが、各社で異なります。調べてシステムの環境変数に設定してください。
変数名 | 内容 |
---|---|
CATALINA_HOME | C:\xampp\tomcat |
JAVA_HOME | C:\Program Files\Microsoft\jdk-17.0.2.8-hotspot |
レジストリを設定する
oracleのJDKをインストールした場合はレジストリーが登録されますので、TOMCATがそのまま起動できますが、MicrosoftのOpenJDKを入れたところレジストリーが登録されなかったのでTOMCATの起動BATが反応せず、起動エラーになりました。そこでOracleを入れるのが正解でしょうが、私はレジストリーで胡麻化しました。
+---HKEY_LOCAL_MACHINE \---SOFTWARE +---JavaSoft \---Java Development Kit \17.0.2.8 JavaHome REG_SZ c:\Program Files\Microsoft\jdk-17.0.2.8-hotspot MicroVersion REG_SZ 0
もちろんバージョン等もそれぞれ違うと思います。インストールした方がいいかな。すいませんO*acleあまり好きじゃないので
MANAGER APPを起動可能にする
ここまでやるとxamppのTOMCATが起動できると思います。 このあと、TOMCATのManager APPが使いたいので、その設定をします。
tomcat-users.xmlの最後の方をこのように書き換えます
<role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="tomcat" password="s3cret" roles="tomcat"/> <user username="both" password="s3cret" roles="tomcat,role1"/> <user username="role1" password="s3cret" roles="role1"/> <user username="manager" password="s3cret" roles="manager-gui,manager-status,manager-script,manager-jmx"/> <user username="admin" password="s3cret" roles="admin-gui,admin-script"/> </tomcat-users>
このあと一度TOMCATをSTOP,STARTしてからadminをクリックします。するとTOMCATのホーム画面がでます。右側にある「Manager App」をクリックして、先ほど入れたIDとパスワードを入れます。managerとs3cretですね。
ログインするとそこに各アプリケーションの状態が出ています。再ロードしたり、起動停止などができます。
なにはともあれHello,worldのTOMCAT版
左のプロジェクトリストからWebSampleを選び、右クリックしてエクスポートを選びます
すると warファイルを選択できます。warファイルは「Webアーカイブ」ファイルで、プロジェクトリソースや配備記述子が含まれます。今回はこれを使って配置します。先ほどManager Appの設定をしたのはそのためです。
適当なフォルダーに出力します。続いてさきほどのManager App画面を開きます。その下の方にwarを指定して配置する場所があります。
ここで先ほどのwarファイルを選択して、配置ボタンを押します。
アプリケーションの中に入ってくるので、そのリンクをクリックするとアプリケーションが起動されます。
さて、配置されると何が起きるのでしょう。xamppのtomcatの場合は以下のようにwebappsフォルダーにwarファイルとその展開されたフォルダーが現れます。
eclipseと違うところは、eclipseではWebContentにindex.htmlを置いたはずですが、
プロジェクトフォルダーに直接、index.htmlが変わっていることです。
そして、配置解除を行うと、これらのwarとフォルダーは消えます
なくなっています