websphere-liberty - Windows/Linux 上的自由
问题描述
我尝试在 Liberty 上部署一个 JAVA 应用程序(我将使用 <> 作为占位符)
- 在 Windows 上:如果我在 Add and Remove.. Ressource 的帮助下将我的应用程序添加到 Ecipe 中,该应用程序将在 Liberty 上成功运行。在
\wlp\usr\servers\<ServerName>\apps
一个新文件<MyAppName>.war.xml
中创建:
<dir sourceOnDisk="C:\<MyAppName>\<MyAppName>-source\src\main\webapp" targetInArchive="/"/>
- 在 Windows 上:如果我在
\wlp\usr\servers\<ServerName>\apps
文件中<MyAppName>.war.xml
手动创建并将其链接到<MyApp>.war
目录:
<dir sourceOnDisk="C:\Users\<userName>\Desktop\<MyAppName>.war" targetInArchive="/"/>
应用程序成功运行。
- 在 Linux 上:我现在想在 Linux 上的 Liberty 服务器上部署相同的战争。问题在于目录的结构——它与 Windows 完全不同。在 appl 目录下,有以下子目录: appl_dropins wl_config
我必须把文件放在哪里<MyAppName>.war.xml
?和server.xml
?为什么在 Linux 上如此不同?
在 Windows 上,该结构用于<ServerName>
应用程序、dropins、日志、资源、tranlog、工作区 + 文件 server.xml
先感谢您。
解决方案
当您直接从 Eclipse 部署时,它默认指向工作区,这有利于开发,但不适合部署到其他环境。
您有以下选择:
war
通过取消选中“直接从工作区运行应用程序”将 Eclipse 中的发布选项更改为发布- 使用 Export > War 文件从 Eclipse 导出应用程序
- 或创建打包服务器 - 右键单击您的服务器选择实用程序 > 打包服务器,然后使用“usr”选项。
打包服务器选项非常适合在环境之间移动,因为它收集了所有 - 应用程序、server.xml 以及您在服务器文件夹中拥有的任何其他文件。然后,您只需在目标主机上解压缩存档并运行服务器。
正如 Alasdair 所说,Win 和 Linux 之间的目录结构没有区别,所以要么你在 Linux 上有一些不同的产品,要么它是由某人或某些工具大量定制的。
推荐阅读
- assembly - movzx 和 cwd - 它们可以互换吗?
- r - 计算固定效应 logit 的混淆矩阵
- c - SDL2 不呈现多个视口
- c# - ADFS 与 SAML2.0 WebSSO 协议。签名认证失败
- php - 按类别查看产品中的 WooCommerce 星级评分(古腾堡块)
- javascript - Jquery比较用复选框选择的表行并比较列
- powershell - 比较一个文件的文件大小的脚本
- python - 如何合并两个具有几乎相同元素的 json
- ruby - 在 Ruby 中,您可以将指向节点的点存储在哈希中以供以后替换
- excel - 如何在不更改格式的情况下使用 VBA 对值进行排序?