2012-02-12 2 views
2

Windows 7上でnetbeansを使ってWebApplication(Tomcat用)を開発しています。Webアプリケーションを実行するためには、insall-scriptを一度実行する必要があります。Tomcat deploy:includeスクリプトを実行可能にする

このスクリプト(* Linux用の窓や* .SH用の.batが私の戦争ファイル(WEB_INF)に含まれています。

今毎回私はWARファイルを展開し、Linux上でスクリプトを実行したいI

chmod +x install.sh 

最初に呼び出す必要があります。

このスクリプトはデフォルトで実行可能にできること方法はありますか?私は、スクリプトを実行可能にするために展開した後、いくつかの余分なコマンドを実行する必要がありますする必要はありません。

説明のために: 私はLinuxには新しくなく、ファイルの実行可能権限を設定する方法を知っています。それは問題ではありません。私の問題は:私は何をしなければならないので、このスクリプトはTomcatがmy * .war-file(展開したもの)を配備した直後に実行可能です。私もLinuxを開発用に使用しているなら、自分のソースに基づいて権利を設定しようと考えています(少し余裕があるときに試してみてください)。しかし、私はWindowsとnetbeansを使用しています。

私の目標を達成するために設定できる属性はありますか、それともantを使用してこれを達成できるのでしょうか?

ところで、この方法にセキュリティ関連の問題はありますか?スクリプトはJava実行可能ファイルを探し、javabased GUIインストーラを呼び出します。

答えて

2

変更権限を、:

String [] command = {"/bin/chmod","+x",full_path_to_install.sh}; 
Runtime rt = Runtime.getRuntime(); 
Process pr = rt.exec(command); 
pr.waitFor(); 

アプリケーションが、スクリプトを使用する前に、実行権限を設定することができます。 Tomcatがwarファイルをデプロイした直後ではなく、アプリケーションがそれを使用する直前には実行可能ではありません。

+0

これは良いことですが、私は今すぐ別のプロジェクトを終了しなければならないので、来週はもっと近く見るつもりです。 – AlexS

0

毎回同じ "install.sh"を呼び出すと仮定すると、実行ビットを1回だけ設定する必要があります。また、実行可能ビットは、ユーザー専用に設定する必要があります(指定したコマンドによってすべてのユーザーに設定されます)。以下のアプリケーションの初期化中に

 
chmod u+x install.sh 
+0

申し訳ありませんが、あなたは私の質問を誤解していると思います。詳細は私の編集を参照してください。 – AlexS

+0

誰にとっても実行可能な設定について:あなたはこれについて完全に正しいです。もちろん、私はこのスクリプトを実行する必要がある、または許可されているユーザーのためにこの権利を設定する必要がありますが、私は今開発中です;)すべてが動作したらアクセス許可に注意します – AlexS

+0

ああ、実行可能に設定されたWeb-INF内のスクリプト?実際に行うことができる唯一の唯一の方法は、親スクリプト内のchmodコマンドを使用することです。しかし、私は戦争のファイルの中に置かれたシェルスクリプトを持っていることを聞いたことがないと言わざるを得ない。 – bubbly

関連する問題