由于写保护,使用Maven部署到BFTP服务器失败
我有一个jetty 8服务器运行在archlinux虚拟机上。我将bftpd安装为FTP服务器,并将我的maven项目配置如下:由于写保护,使用Maven部署到BFTP服务器失败,maven,deployment,ftp,Maven,Deployment,Ftp,我有一个jetty 8服务器运行在archlinux虚拟机上。我将bftpd安装为FTP服务器,并将我的maven项目配置如下: ... <distributionManagement> <repository> <id>personal-ftp-repository</id> <url>ftp://www.example.com</url> </repository&g
...
<distributionManagement>
<repository>
<id>personal-ftp-repository</id>
<url>ftp://www.example.com</url>
</repository>
</distributionManagement>
...
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>1.0-beta-6</version>
</extension>
...
。。。
个人ftp存储库
ftp://www.example.com
...
org.apache.maven.wagen
货车ftp
1.0-beta-6
...
my settings.xml中正确定义了为distributionManagement指定名称的repo,部署的工作原理与运行mvn deploy时正确上载组装好的WAR的工作原理相同
但是上载的文件会获得不需要的文件权限。我已经将bftpd UMASK设置为000,这导致上传目录的文件权限为777,上传文件的文件权限为666。但是服务器不能执行这些操作,因此jetty无法为它们提供服务
当我手动将WAR文件的权限切换到777时,该文件将按预期使用。但当我试图通过mvn deploy上传更新版本的WAR时,它报告说
FTP服务器响应:553错误:远程文件受写保护。
即使jetty服务器已停止
必须有一种方法可以部署WAR,而无需手动删除旧的WAR,部署后必须手动设置文件权限,但我找不到文件权限。我不知道您使用的是什么服务,但如果您使用的是tomcat。。 也许你可以试试这个
- 删除服务/目标输出文件夹(如果它已存在)(与mvn clean单独相同)
- 重新创建文件夹,生成Java类并将其编译到其中(mvn包)
- 为web服务提供者和JAR文件创建WAR文件
- 将JAR和WAR安装到本地Maven存储库(mvn安装)
- 取消部署上一个WAR文件(如果还使用tomcat:undeploy或tomcat:redeploy)
- 将新WAR文件部署到Tomcat上。(mvn tomcat:deploy)