我在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安装程序...
答案 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