Java EE Webアプリケーション全体を含むインストーラを作成する方法はありますか?最終的なユーザーは、実稼働環境全体をインストールすることなく単一のインストーラを実行するだけですか?1人のインストーラでJava EE Webアプリケーションのインストーラを作成するにはどうすればよいですか?
私がしようとしているのは、JDK + Tomcatのインストールを保存することです。より良い解決策があれば、それを提供してください。
Java EE Webアプリケーション全体を含むインストーラを作成する方法はありますか?最終的なユーザーは、実稼働環境全体をインストールすることなく単一のインストーラを実行するだけですか?1人のインストーラでJava EE Webアプリケーションのインストーラを作成するにはどうすればよいですか?
私がしようとしているのは、JDK + Tomcatのインストールを保存することです。より良い解決策があれば、それを提供してください。
より簡単な方法は、必要なすべてのファイル(TomcatとJDK)で圧縮ファイルを作成することです。ファイルを解凍すると、Tomcatを起動するコマンドや必要なものが実行されます。 TomcatとJDKに対するのパスはと同じであることが必要です。元の環境と同じです。
Winrarは実行可能ファイルを生成し、抽出の最後にコマンドを実行できることがわかりました。 (新しいプログラムをインストールするときにこれを見たことがありますか?最初に解凍してからインストールしてください)これは少なくともWindowsではです。他のライブラリやプログラムは、Winrarのようなものを生成するかもしれません。
誰かがhttps://gist.github.com/2599881を必要とする可能性がある場合に私が使用した.batはここにあります – MauroPorrasP
Webアプリケーションは1つだけWARファイルであり、あなたがウィンストン・コンテナが埋め込まれ、それを使用することを検討した後、任意のサーブレット2.4コンテナを使用することができた場合:あなたは今まであなたの問題を軽減している
http://winstone.sourceforge.net/#embedding
多数のインストーラが存在する単一の実行可能なJARどちらを選択するかは、実際の状況によって異なります。
しかし、彼らはまだJRE/JDKをインストールする必要がありますか? – MauroPorrasP
これを処理できるインストーラを使用してください。 –
http://www.advancedinstaller.com/のみが見つかりましたが、無料ではありません。オープンソースの提案ですか? – MauroPorrasP
単一のインストーラは、利便性の外観を与えるかもしれないが、それはユースケースの数に問題があると起動することができます。
のためにインストール+インストール1つのJDKで終わるだろう、単一のパッケージではなく、インストール手順を明確にしてください。 YMMV。
Windows環境では、linux環境用のシェルスクリプトを作成するのと同じように、次のようにインストーラを作成することができます。
1、パッケージS/W(例えばPostgreSQLの、桟橋、JREなど)
2のバイナリディストリビューション、桟橋のwebapps
3であなたのwarファイルを入れ、内部のデータのフォルダを作成しますpostgres
4、さまざまな環境変数を設定し、バッチファイルを使用して初期化します。私の場合、「install.bat」ファイルを作成しました。
REM set jdk environment
PATH=%~dp0Java\jre6\bin;%~dp0Java\jre6\lib;%~dp0pgsql\bin;%PATH%
setx PATH "%PATH%"
REM set postgres environment
SETX PGDATA "%~dp0pgsql\data"
SETX PGDATABASE postgres
SETX PGUSER postgres
SETX PGPORT 5432
SETX PGLOCALEDIR "%~dp0pgsql\share\locale"
REM initdb initialize the postgresql initialization properties
"%~dp0pgsql\bin\initdb" -D "%~dp0pgsql\data" -U postgres -A trust
REM put the temp.vbs script into startup
cscript //NoLogo //B "%~dp0start_startup_shortcut.vbs"
cscript //NoLogo //B "%~dp0start_desktop_shortcut.vbs"
cscript //NoLogo //B "%~dp0app_shortcut.vbs"
REM start the database service
"%~dp0pgsql\bin\pg_ctl" -D "%~dp0pgsql\data" start
timeout /T 10
"%~dp0pgsql\bin\createdb.exe" -U postgres dbName
"%~dp0pgsql\bin\psql.exe" -U postgres -d dbName -f "%~dp0backup.sql"
REM java -DSTART="%~dp0jetty8\start.ini" -jar "%~dp0jetty8\start.jar"
REM start the jetty server
java -Djetty.home="%~dp0jetty8" -jar "%~dp0jetty8\start.jar" > pb_log.txt
pause
5、サービスを開始するためのバッチファイルを作成します。たとえば、「start」と入力します。バット」。次のように
REM start the database service
"%~dp0pgsql\bin\pg_ctl" -D "%~dp0pgsql\data" start
java -Djetty.home="%~dp0jetty8" -jar "%~dp0jetty8\start.jar"
6は、あなたがアプリケーションのショートカットを作成することができますたとえば "
Dim FileName
FileName = "projectName"
Set wsShell= CreateObject("WScript.Shell")
Set wshSysEnv = wsShell.Environment("PROCESS")
sMyHomePath = wshSysEnv("HOMEPATH")
Set shortcut =
wsShell.CreateShortcut(CreateObject("WScript.Shell").SpecialFolders("Desktop")& + "\" +
FileName + ".lnk")
shortcut.Description = "Start projectName"
currentDirectory = left(WScript.ScriptFullName,
(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
shortcut.TargetPath = currentDirectory + "projectName.bat"
shortcut.Arguments = "/Arguments:Shortcut"
shortcut.Save
7" app_shortcut.vbs、次のようにサービスのデスクトップショートカットを起動します。
Dim FileName
FileName = "Start projectName Server"
Set wsShell= CreateObject("WScript.Shell")
Set wshSysEnv = wsShell.Environment("PROCESS")
sMyHomePath = wshSysEnv("HOMEPATH")
Set shortcut =
wsShell.CreateShortcut(CreateObject("WScript.Shell").SpecialFolders("Desktop")& + "\" +
FileName + ".lnk")
shortcut.Description = "Start projectName"
currentDirectory = left(WScript.ScriptFullName,
(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
shortcut.TargetPath = currentDirectory + "start.bat"
shortcut.Arguments = "/Arguments:Shortcut"
shortcut.Save
8 、アプリケーションバッチファイルを実行する
@echo off
netstat -o -n -a | findstr 0.0:9095
if %ERRORLEVEL% equ 0 (start http://localhost:9095) ELSE (echo "Please Start the Server"
pause)
Tomcatを埋め込んでいますか? –
@PaulVargas Tomcat、または任意のサーブレットコンテナ。 – MauroPorrasP