gpt4 book ai didi

java - 在 Openshift 服务器中使用 Rest Web 服务部署 Java 应用程序

转载 作者:行者123 更新时间:2023-11-30 03:32:38 24 4
gpt4 key购买 nike

我正在尝试在 OpenShift 服务器中部署 java 应用程序。我的应用程序分为四个项目:BBDD、Business、Web Services 和 Web。当我使用 openshift 创建应用程序时,它创建了以下结构:src(这个有 java、resources 和 webapp 文件夹)、webapps 和 pom.xml。我不知道如何将我的项目组织到该结构中以上传到服务器。我已将 Web 结构放在 src 内的 webapp 文件夹中。然后,我将其他项目放在 java 文件夹中。当我执行应用程序时,我可以看到我的网页,并且可以导航所有网页,但是当我调用 Web 服务时,出现以下错误:

未找到 Http/1.1 404

提前致谢,
伊类族

最佳答案

Openshift 希望使用 pom.xml 在其服务器上编译应用程序,然后运行它构建的应用程序。为此,您的项目需要是 maven webapplication project 。只有当您在本地测试过它时,您才会期望将代码提交到 openshift 服务器(使用 git)才能成功编译并运行应用程序。

这意味着您不应使用 SCP 上传工具上传文件;您应该使用 git 将源代码提交到 openshift 服务器,以便编译然后运行您的应用程序。

我通常使用 maven 和 openshift 的方式是将 xml 片段添加到 pom.xml 中以启用 jetty-maven-plugin能够使用 mvn jetty:run 构建并启动项目以在本地进行测试。当且仅当它在本地工作时我才尝试部署它。该命令是“零安装”,因为 maven 下载 jetty jar 并在您的项目上运行它们。

Redhat openshift 倾向于将 redhat jboss AS 应用服务器推广为 Java 解决方案,因此,如果您沿着这条路线走下去,您应该尝试使用 mvn package 来制作 war 文件,并在本地 jboss 安装之前对其进行测试期待它能在服务器上运行。有一种方法可以在本地构建一个 EAR 文件并将其推送到服务器,而不是提交代码供服务器构建和运行。

在这个答案的底部,我有一个指向我编写的演示的链接,它展示了我首选的方法。我将应用程序创建为 DIY cartridge这是一个空 shell,然后自定义 .openshift 文件夹中的脚本来启动我选择的 Java 服务器。我使用 maven 构建我的 web 应用程序,我使用 jetty-maven-plugin 运行该应用程序以在 Eclipse 中进行本地调试(maven IDE 插件允许我“调试为... > maven > “jetty:run”)。然后我配置 pom。我使用 web.xml 来构建我的整个应用程序以及 jetty Java Web 服务器到一个巨大的可运行 jar 中。然后我编辑启动脚本以使用“java -jar”来运行我的完整应用程序。

如果您使用的是 DYI 墨盒,则不需要使用 maven;我使用 sbt 作为构建工具来创建可运行的 jar。您只需修改 .openshift 文件夹中的脚本即可下载并运行您选择的工具。

我在下面的链接中制作的 GitHub 演示包含有关如何在 openshift 上部署它的说明。因此,您可能希望在本地调试它并将其推送到您的 openshift 服务器之后运行它,然后撕掉我的代码并添加您的所有代码:

https://github.com/simbo1905/zkmongomaps

关于java - 在 Openshift 服务器中使用 Rest Web 服务部署 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28662347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com