云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_网站建设推广公司_评分榜

小七 141 0

在我们开始使用Spring或Spring Boot部署到Java应用程序之前,我们不需要SAP云平台Neo,我们需要清除一些重要信息。

不要认为Neo Java运行时与Tomcat服务器相同

Neo基于Tomcat容器,但它与成熟的Tomcat不一样。Tomcat服务器是一个javaee系统,它包含了Neo运行时提供的更多特性。此外,它还允许对运行时进行额外配置,这将要求在其安装文件系统中具有管理员权限—对于Neo应用程序,此类类似操作只能由SAP Cloud Cockpit或Neo命令行工具完成。另外,Neo将允许您在单个容器中运行应用程序。换句话说,它不允许您将多个WAR文件部署到同一个服务器实例。由于两者在概念上有很多不同,我们需要在将Tomcat应用程序移植到Neo时进行一些深思熟虑的考虑(将在本博客后面进一步披露这些内容)。

Spring应用程序在Neo中的定义不同,但在Cloud Foundry上的定义不同

在CF环境中,您唯一可用的是Java构建pack–它为您提供了一个完整的Java标准版运行时文件系统。因此,您必须指定希望将哪个JEE容器用于Java应用程序。因此,springbootstarterweb包在CF上下文中非常有意义。也就是说,您不必考虑安装Tomcat服务,因为Spring Boot已经为您提供了一个服务。

考虑以下问题

我强烈建议使用Neo SDK开发Java应用程序,使其与Neo完全兼容。请记住,每个neosdk都包含Tomcat或Web概要的精简版本,它们都符合JEE标准。因此,您需要选择一个SDK而不是另一个,以便能够使用这个或那个规范。看看这个(https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/7613bd28711e1014839a8273b0e91070.html). 一旦您选择了SDK版本,您可以向您的项目中添加库。

除非您真正了解内部后果,否则不鼓励从Neo SDK中排除jar文件以允许另一个库版本,计算机大数据,甚至第三方库完全重新实现JEE规范。最好保留Neo-SDK中包含的库的用法,并从其他包(如Spring-Boot提供的包)中排除相同的实现(即:Spring-Boot-starter web已经包含一个嵌入的Tomcat容器,这与Neo-SDK为您做的基本相同–SFL4J也一样)。通过这样做,您可以确保在本地测试应用程序时使用的运行时环境与SAP云平台上的运行时环境相同。这反过来又允许您减少将应用程序部署到云中的频率,以确保应用程序运行。

创建一个简单的Spring启动应用程序(我更喜欢使用Spring IDE来创建我的项目,但也可以使用initializer)(https://start.spring.io)或其他一些首选方法)。

确保您的项目具有starter Web依赖:

但是,不需要starter tomcat包,因此,现在可以安全地删除它:

添加以下依赖项以包含Java Web Tomcat 8的Neo运行时(确保在属性会话中定义SDK版本):

下面是Java Web Tomcat 8运行时的示例(3.x版是Tomcat 8):

当作为Java应用程序或Spring应用程序在本地运行时,不会显示任何依赖项问题。但是,在这种情况下,java类装入器与sapcloud平台用于启动应用程序的装入器非常不同。如果你不这样做,你的项目就不会在云中运行,可能会抛出这样一个异常:

很明显,SLF4J是由Spring启动程序和Neo运行时声明的。因此,我们需要从POM文件中删除依赖项,因为无法从SCP本身中删除它。但是,如果我们简单地删除它,编译可能会失败。因此,我们需要将其重新定义为由POM中的其他内容提供。我们是这样做的:

使用SCP Eclipse插件,您可以创建一个服务器配置,网站用云服务器,直接通过Eclipse部署应用程序。

首先,从https://tools.hana.ondemand.com/#云. 在这里,我将使用java Web Tomcat 8版本。java将其提取到您选择的文件夹中。SDK)

创建服务器后,多线云主机,双击打开配置窗格。然后打开超时会话并将启动时间更改为120

保存本地服务器的配置文件。

我不会教您如何创建一个简单的Spring引导应用程序。这里我使用的是最简单的for-of-Spring-Boot应用程序(一个简单的servlet,用来打招呼)。

在独立模式下测试应用程序后,可以将其作为web模块添加到Eclipse中定义的本地JavaWebTomcat8服务器中。按照以下步骤:

一旦启动本地服务器,图标和文本将如以下屏幕所示发生变化-说明:"已启动,已同步"。要加载云平台特有的所有特性并启动Spring引导应用程序,整个过程应该比标准的45秒长。这就是为什么我们改为120秒。在较慢的计算机上运行同一进程时,可能需要增加此时间。也可能根本不需要它,因为它取决于您的机器的性能。

右键单击应用程序并复制应用程序链接以在外部浏览器中打开,或直接在集成浏览器中打开:

结果应该是您的应用程序的起始页,如下: