web应用程序- Ant构建拒绝复制.war文件的权限



我有一个打包的app.war文件,我试图复制到webapps文件夹,我得到一个错误:

构建失败了没能复制我的战争。到/usr/local/tomcat/webapps/mywar。java.io.FileNotFoundException/usr/local/tomcat/webapps/mywar。war (Permission denied)

下面是ant代码:

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

这显然是一个权限问题。我不能真正解决它通过chmod 777 .war文件,因为myapp。War每次都会被擦除,并且新文件将再次具有限制性权限。

如果我把整个webapps的dir权限设置为777之类的呢?就安全性而言,这似乎是一种糟糕的做法,对吧?或者是否有ant命令赋予脚本root权限?如果需要的话,我正在使用ubuntu。

谢谢!

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

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

尝试使用scp任务。您需要确保jsch在Ant类路径中才能正常工作。这里有来自Ant的文档。

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

最新更新