2016-04-05 31 views
0

Tomcatを使用した私の最初のJavaサーブレットであるので、私に負担をかけてください。私はWindowsのEclipseでそれを書いており、ビルドスクリプトを書いてスクリプトを実行する必要があります。WARファイルのビルドとデプロイのためのシェルスクリプトの作成

私は、このWARを送信するユーザーには、このWARを実行するためにTomcatがインストールされている必要があります。その場合は

、私のビルドスクリプトは、それ

と私の実行スクリプトちょうど私のプログラムを実行する必要があると私の戦争の展開自分のラップトップ 2にTomcatをインストールし 1にする必要がありますか?

+0

すでにTomcatインスタンスがインストールされている個人/組織をサポートしますか?もう1つの方法は、tomcat *自体をインストールしようとしない*ですが、tomcatとその中にアプリケーションがすでにデプロイされている.zip/.tar.gzを作成することです。その後、.zip/.tar.gzを展開してtomcatを起動します。このアプローチは、例えば、Atlassianによって彼らの風刺画プロジェクトに使用されます。 – KevinO

+0

試してみましたか? start.spring.ioに行き、必要なテクノロジーを選択してください。プロジェクトをmaven形式で作成してダウンロードする(pom.xmlプロジェクトファイル)サーブレットとTomcatが埋め込まれたrunnable jarファイルをビルドして配布します。あなたのjarファイルは "本当の"実行可能ファイルに変換することもできます(実際にはjarファイルはシェルスクリプトに埋め込まれているので、 "java -jar ..."を使わずにコマンドラインから起動することができます)。それはサービス/デーモンとして。これはこれを行う最も簡単な方法です。 –

+0

@jonmartinsolaasニース!私はこれを調べます。ユーザーがtomcatをインストールしていない場合、これは動作しますか?もしtomcatが私のjarファイルに埋め込まれていれば、それは実行されるのでしょうか、または私のプログラムを実行する前にユーザーはまだマシンにtomcatをインストールする必要がありますか? – Kevin

答えて

-1

私は、これはあなたを助けることができると思う: https://gist.github.com/geowa4/1428257

#!/bin/bash 
TOMCAT=apache-tomcat-7.0.23 
TOMCAT_WEBAPPS=$TOMCAT/webapps 
TOMCAT_CONFIG=$TOMCAT/conf/server.xml 
TOMCAT_START=$TOMCAT/bin/startup.sh 
TOMCAT_ARCHIVE=$TOMCAT.tar.gz 
TOMCAT_URL=http://apache.mirrorcatalogs.com/tomcat/tomcat-7/v7.0.23/bin/$TOMCAT_ARCHIVE 
WAR_FILE=whatever.war 

if [ ! -e $TOMCAT ]; then 
if [ ! -r $TOMCAT_ARCHIVE ]; then 
if [ -n "$(which curl)" ]; then 
    curl -O $TOMCAT_URL 
elif [ -n "$(which wget)" ]; then 
    wget $TOMCAT_URL 
fi 
fi 

if [ ! -r $TOMCAT_ARCHIVE ]; then 
echo "Tomcat could not be downloaded." 1>&2 
echo "Verify that eiter curl or wget is installed." 1>&2 
echo "If they are, check your internet connection and try again." 1>&2 
echo "You may also download $TOMCAT_ARCHIVE and place it in this folder." 1>&2 
exit 1 
fi 

tar -zxf $TOMCAT_ARCHIVE 
rm $TOMCAT_ARCHIVE 
fi 

if [ ! -w $TOMCAT -o ! -w $TOMCAT_WEBAPPS ]; then 
echo "$TOMCAT and $TOMCAT_WEBAPPS must be writable." 1>&2 
exit 1 
fi 

if [ ! -r $WAR_FILE ]; then 
echo "$WAR_FILE is missing. Download it and run this again to deploy it." 1>&2 
else 
cp $WAR_FILE $TOMCAT_WEBAPPS 
fi 

これはshのファイルですので、あなたは、Linuxで使用することができます。

+0

このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めて参照のためのリンクを提供する方が良いでしょう。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質投稿/ 17102001) –

関連する問題