Warファイルを作成し、Tomcat/webapps
。コマンドプロンプトを使用してTomcatにwarファイルを展開する方法は?
このページの以前の回答は正しいので、WARファイルを所定の場所にコピー/移動してTomcatを再起動できますが、何か言及することは省略します:存在する場合は、以前に展開されたWARファイルから以前に展開されたアセットを削除する必要があります。
# My Tomcat webapps are found at /var/lib/Tomcat6/webapps
# The application I wish to deploy is the main (ROOT) application
webapps_dir=/var/lib/Tomcat6/webapps
# Remove existing assets (if any)
rm -rf $webapps_dir/ROOT
# Copy WAR file into place
cp example_dir/ROOT.war $webapps_dir
# Restart Tomcat
service Tomcat6 restart
独自のシステムに合わせて次を変更します。
最初に、ロールマネージャースクリプトのTomcat-users.xmlにユーザーロールを追加します。
次に、現在のアプリをアンデプロイするために使用できます
wget http://username:password@localhost:portnumber/manager/text/undeploy?path=/appname -O - -q
展開するには
wget http://username:password@localhost:portnumber/manager/text/deploy?path=/appname&war=file:/warpath -O - -q
これを行うには、Tomcat CATALINA_HOME/WEBAPPS/
ディレクトリ内にWARファイルを配置する必要があります。後で、TomcatはこのWARファイルを自動的に展開および展開します。
CATALINA_HOME
変数をTomcatディレクトリのパスに設定しますコマンドラインの現在のディレクトリからWARファイルをコピーする構文:
copy <your-war-file-name> %CATALINA_HOME%\<your-appBase-name>
例:
cd C:\MY_WAR_FILE_LOCATION
set CATALINA_HOME="C:\Program Files\Apache\apache-Tomcat-7.0.42"
copy MYWARFILE.WAR %CATALINA_HOME%\webapps
注:Tomcatの実行中にWARファイルがwebappsディレクトリにコピーされた場合、そのファイルは認識されません。 Webアプリケーションの使用を開始するには、Tomcatを再起動するだけです。
wgetまたはcurlを使用して、コマンドラインからアプリをデプロイできます。
Wgetの場合:
wget --http-user=Tomcat --http-password=Tomcat "http://localhost:8080/manager/text/deploy?war=file:/some/path/SomeWar.war&path=/SomeWar" -O -
しかし、wgetの場合、このエラーを受け取りました:「コンテキストパスでアプリケーションをデプロイできませんでした...」
だから私はcurlを使用して解決しました:
curl -v -u user:password -T app.war 'http://tomcathost/manager/text/deploy?path=/my-app-path&update=true'
すでにwarファイルをTomcat/webappsにコピーしているので、Tomcatを再起動してwarファイルをデプロイするだけです。
コマンドプロンプト:
set tomcatPath=D:\Apache-Tomcat-7.0.50
call "%tomcatPath%"\bin\catalina.bat **stop**
sleep -m 3000
call "%tomcatPath%"\bin\catalina.bat jpda **start**
Tomcatマネージャーアプリ http://Tomcat.Apache.org/Tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely を使用してwarファイルをデプロイできます。
コマンドプロンプトから必要な場合は、私が知っているように
httpie を使用すると、戦争をアップロードしてデプロイできます。
http --auth user:pass PUT http://<tomcatURL>/manager/text/deploy?path=/ < ROOT.war