Ant构建拒绝复制.war文件的权限

时间:2011-04-06 21:44:46

标签: web-applications ant build-process build-automation war

我有一个打包的app.war文件,我试图将其复制到webapps文件夹中,但是收到错误:

建立失败 由于java.io.FileNotFoundException /usr/local/tomcat/webapps/mywar.war(Permission denied)

,无法将mywar.war复制到/usr/local/tomcat/webapps/mywar.war

以下是此代码的蚂蚁代码:

<target name="install" depends="package">
      <copy file="mywar.war" tofile="${webapp.dir}/mywar.war" overwrite="true" />
</target>

这显然是权限的事情。我无法通过chmod 777解析它.war文件,因为myapp.war每次都会被删除,新文件将再次应用限制性权限。

如果我制作整个webapps目录权限777或其他什么?这在安全方面似乎是不好的做法,对吧?或者是否有一个ant命令来赋予脚本root权限?如果重要的话,我正在使用ubuntu。

谢谢!

2 个答案:

答案 0 :(得分:0)

就个人而言,我使用Ant构建WAR文件,然后su生成根文件并手动将其复制到webapps文件夹。

但是,您可以使webapps文件夹可由特定组写入,并将Ant作为该组的成员运行。

答案 1 :(得分:0)

尝试使用scp任务。您需要确保jsch在Ant类路径上才能工作。有来自Ant人员的文档。

<scp file="mywar.war" todir="root:password@localhost:${webapp.dir}"/>