我有一个打包的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}"/>