【问题标题】:How to deploy a web application built with maven in a remote server? [duplicate]如何在远程服务器中部署使用 maven 构建的 Web 应用程序? [复制]
【发布时间】:2024-01-14 19:28:01
【问题描述】:

请,任何人都可以帮助我了解如何部署应用程序。 我已经使用 spring 框架和 maven 构建了一个应用程序。我想使用 ftp 将它部署在远程服务器中。有人告诉我,我可以将它上传到给我的子域(例如:www.yyyy.xxxx.com),他们给了我一个用户名和密码。我使用了此链接中的指令:enter link description here,但我使用了 <site> 而不是 <repository>。但它不起作用。以下错误是:嵌入错误:未为存储库 ftp-repository 指定密码。我不知道我是否按照正确的说明进行操作,还是应该尝试使用 Apache ANT 进行部署?

pom.xml 包含:

<!-- DISTRIBUTION FILE -->
     <distributionManagement>
        <site>
            <id>ftp-repository</id>
            <url>ftp://ftp.xxxx.com/app_name</url>  
        </site>
     </distributionManagement>

    <build>
        <!-- FTP TRANSFER -->
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
            <version>2.2</version>
        </extension>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>2.2</version>
        </extension>

我把settings.xml文件和pom.xml放在同一个目录下 错误跟踪开始于: org.apache.maven.lifecycle.LifecycleExecutionExeption:上传站点时出错 我已经使用fileZilla测试了到服务器的连接,当我使用主机时我得到了connectet:ftp.xxxx.com

【问题讨论】:

  • 在那个问题中,用户说他使用程序上传了war文件。但这是不可能的,它没有部署的应用程序..
  • 您能否发布相关的 pom 部分,即站点定义以及 ftp 设置。确保将站点名称以及用户名和密码替换为 xxxxxx 字符串等。看看你所拥有的结构会很好。您是否还验证过您可以通过 ftp 访问 Maven 之外的盒子?即打开命令窗口或使用 ftp 客户端并登录服务器?
  • 我编辑了我的问题.. 这是部署网站的方式吗?谢谢

标签: java maven web-applications deployment ftp


【解决方案1】:

我认为您的问题是您将 settings.xml 文件与 pom.xml 放在同一目录中。

将settings.xml放入

${Your home directory}/.m2/settings.xml

【讨论】:

  • 感谢您的回答。我将 settings.xml 放在您建议的目录中。最后我成功执行了 mvn site:deploy。但我不明白如何访问我的网站。当我输入地址时:www.yyyy.xxxx.com/app_name 我只看到一个项目文档框和“目前没有与此项目相关的描述”。接下来我该怎么做?很抱歉我没有这方面的经验..我不太了解。
  • 远程服务器中上传 .war 的目录是必须部署 .war 的目录吗?仅将 .war 上传到远程服务器中的该目录应该可以访问吗?如果您需要直接部署到您的服务器应用程序,而不仅仅是上传到远程服务器目录,也许您应该使用Maven Cargo Plugin
  • 是的,我必须在该目录中部署 .war,并且应该可以在该目录中访问它。我应该按照此链接 [cargo.codehaus.org/Deploying+to+a+running+container] 下的 Maven Cargo 插件的说明进行操作:使用远程容器吗?
  • 如果只在那个目录下部署.war,应用应该是可以访问的,那么就不需要你配置cargo插件了。我不知道您使用的是哪个应用程序服务器,但我假设它已经在您正在部署的目录上自动部署。有时,当您通过 ftp 上传时,之前,整个 .war 已经上传,自动部署开始它的工作,以及解包和无效的.war。检查 .war 是否已完全上传。如果可能,重新启动应用程序服务器,并查看日志中的内容。 .war 可能在部署时没有以良好的方式开始。
  • 非常感谢您对我的帮助!我已经构建了一个将在 Facebook 内部使用的应用程序,我在我的本地主机(tomcat 6)的开发过程中对其进行了测试,但是现在它已经完成了,我想把它放在一个应用程序服务器中,以便其他用户可以访问它.我有这个可以使用的子域(使用用户名和密码)。我第一次使用fileZilla上传.war(通过运行mvn包生成),但是应用程序无法启动,然后我尝试了apache weagon来部署它,但它没有启动应用程序eather..i不知道怎么办??
最近更新 更多