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

MySQL数据库_迁安网站建设_高性价比

小七 141 0

您是否曾经问过自己,甚至遇到过在MTA应用程序中部署已经编译好的Java库的任务?如果您要在MTA应用程序中移植现有的Java代码,您要在XSA上开发,

这是我们在几个星期前进行的一个项目中遇到的问题。一个解决方案提供商在数据科学领域有一个实现计划和预测用例的解决方案。该解决方案使用了一个保存挖掘数据的远程数据库。业务逻辑是用Java实现的,并在Tomcat上运行,使用了一家知名产品供应商提供的获得许可的第三方库。其想法是在XSA上移植现有代码和第三方库,从而使用HANA作为具有数据挖掘功能的底层数据库。除此之外,我们还利用HANA API和功能扩展了解决方案的代码。

现在这个场景有一个问题,这是所有此类移植任务的共同问题。XSA工具箱的一个主要部分是Web IDE(用于SAP HANA)。webide中的Java代码由Maven在后台处理。这意味着,大数据市场,如果您的第三方库不符合Maven,您将无法将它们导入到MTA。从技术上讲,您可以将jar文件导入到MTA中,但是构建存档将失败。这是因为这样的库没有特定于Maven的pom.xml文件. 因此,它们的依赖关系是未知的,Maven拒绝运行构建。

在下面我将列出您需要执行的步骤,这将使您走出这个迷宫。我将以一种相当详细的方式做它,但是请忍受我,大数据产业,尽管我知道你们中的许多人已经熟悉我将在这里介绍的概念。

基本上我做了两件事:

"mavenized"第三方库,它不符合maven,将它们"正确"导入到Web IDE的MTA项目中。

其余由Web IDE和XSA的部署服务管理。

我将在此处共享的所有内容您将能够在您的云或本地HANA实例(例如HANA Express)上自行完成。我使用了HANA 2.0 SPS02的一个内部实例。

我编写了一个简单的Java类com.helper.vehicles公司.Car,最后我将其导出为JAR文件。我给它起了个名字车辆.jar. 请注意,此归档文件不符合Maven。类Car有两个属性:manufacturer和yearOfProduction以及相应的setter和getter方法。在本博客的最后,我将在Java模块的servlet中使用这个示例性代码,在Car实例上调用其中一个方法,从而演示MTA的成功部署。这是汽车类(只是为了完整,云服务器怎么用,没有什么令人兴奋的事情发生在这里):

我也有(现在仍然有)一个Maven安装在我的本地Windows机器上-版本3.5.0(不是说版本真的重要)。

我使用了Web IDE的项目向导,并命名为MTA项目汽车车队。

我在MTA下创建了一个Java模块,并把它命名为爪哇岛。请注意,为了简单起见,我没有启用HANA数据库支持(HDI容器预配置)。我不想进行任何数据库调用,因为主要目的是演示Java库的集成。

在创建Java模块时,物联网工程,我再次使用向导并选择了"简单Web应用程序"选项。向导还生成一个名为HelloServlet的servlet(在向导中指定的包中)。我把它的名字改成了VehicleServlet——你不必这么做。它为我(和你)提供了一个可以用于快速部署的特定代码框架。结果是这样的:

VehicleServlet在src文件夹下(在这个屏幕截图中它没有展开,但是相信我…它在那里)。但你已经看到了pom.xml文件Java模块的一部分!正如我之前所说的:WebIDE总是在后台使用Maven,这是你们中间怀疑论者的证据车辆.jar我至少需要三个Maven属性:groupId、artifactId和version。然后我在本地机器上发出以下命令:

我想命令中的选项是不言自明的。请注意属性及其值的分配(groupId=company,artifactId=vehicles,version=1.0)。结果是本地Maven安装的存储库中有一个文件夹/目录结构。在"version"文件夹下,实际的(重命名的)jar与其对应的pom.xml文件.

请注意,版本现在是jar名称的一部分。

现在您的车辆.jar(现在更名为vehicles-1.0,jar)与Maven兼容。Maven的主要特性之一是处理库的(设计时)依赖关系。它是通过定义一个Maven存储库来实现的,这些库存储在这里。这些存储库通常在网上可用,贵州大数据,可以作为公共internet存储库,也可以在企业内部网中使用。此外,还可以定义所谓的"本地存储库",可以将其用于测试或类似用途。这是我在这个例子中做的。我为jar定义了一个"本地"Maven存储库,它是一个直接位于Java模块下的文件夹。我将文件夹命名为"lib"。

然后在pom.xml文件我的Java模块。在我的例子中,部分不在那里,所以我必须创建它。

现在在您将vehicles-1.0.jar导入本地存储库之前,您需要创建一个(子)文件夹结构,它将对应于您jar的Maven特定结构。这意味着您需要创建文件夹///,e、 g./company/vehicles/1.0:

现在您所要做的就是导入vehicles-1.0.jar及其附件pom.xml文件以及_远程存储库文件: