Tomcat部署:使包含的脚本可执行

时间:2012-02-12 13:08:17

标签: linux tomcat ant

我在Windows 7上使用netbeans开发WebApplication(用于Tomcat)。要运行Web应用程序,我需要运行一次insall-script。

此脚本(* .bat for windows和* .sh for linux包含在我的war-file(WEB_INF)中。

现在每次部署WAR文件并想在linux上运行脚本时我都要调用

chmod +x install.sh

第一

是否有一种方法可以使此脚本默认可执行?我不希望在部署之后执行一些额外的命令以使脚本可执行。

澄清: 我不熟悉Linux,我知道如何设置文件的可执行权限。那不是问题。我的问题是:我需要做什么,以便在tomcat部署我的* .war文件(解压缩后)后立即执行此脚本。如果我也将使用Linux进行开发,我会尝试根据我的来源设置权限(也许我会在我有更多的业余时间时尝试)。但我使用的是Windows和netbeans。

我可以设定任何属性以实现我的目标,还是可以使用蚂蚁实现这一目标?

顺便问一下:这种方法是否存在与安全相关的问题?该脚本查找java可执行文件并调用基于javabased的GUI安装程序...

2 个答案:

答案 0 :(得分:2)

在应用程序初始化期间更改权限,如下所示:

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

允许您的应用程序在使用脚本之前设置可执行权限。在tomcat部署你的war文件之后,它就在你的应用程序使用之前就不可执行了。

答案 1 :(得分:0)

假设您每次都调用相同的“install.sh”,则只需将执行位设置一次。此外,只需为用户设置可执行位(您提供的命令将为每个人设置)。

chmod u+x install.sh