如何使用 Cargo 创建服务器并将 webapp 部署到 WebSphere Liberty?
How to create server and deploy webapp into WebSphere Liberty using Cargo?
我正在查看 https://codehaus-cargo.github.io/cargo/WebSphere+Liberty.html,但我对如何继续(在 Java 中)创建服务器并在其中安装 Web 应用程序感到困惑。
文档(与上面相同的页面,在底部)提到了属性,但我不清楚如何映射 上下文名称 和 服务器名称 到列出的属性。
是否有关于如何执行此操作的好(或任何)示例?
更新
我的意思是如何将 server create myserver
command, followed by mvn liberty:deploy
等同于刚刚创建的 myserver
,然后是 server start myserver
?
Liberty standalone cargo container 会自动创建一个服务器,所以不需要创建API。服务器名称不能被覆盖,但将被称为 defaultServer。
要部署应用程序,或启动和停止服务器,您可以使用正常的 Java API。 codehause cargo 网站有一些使用 Java API 编写 JUnit test 的示例代码。我添加了带有 Liberty 定制的代码,我添加了关于如何为应用程序设置上下文根的代码。
// (1) Optional step to install the container from a URL pointing to its distribution
Installer installer = new ZipURLInstaller(
new URL("http://repo1.maven.org/maven2/com/ibm/websphere/appserver/runtime/wlp-javaee7/8.5.5.9/wlp-javaee7-8.5.5.9.zip"));
installer.install();
// (2) Create the Cargo Container instance wrapping our physical container
LocalConfiguration configuration = (LocalConfiguration) new DefaultConfigurationFactory().createConfiguration(
"liberty", ContainerType.INSTALLED, ConfigurationType.STANDALONE);
InstalledLocalContainer container =
(InstalledLocalContainer) new DefaultContainerFactory().createContainer(
"liberty", ContainerType.INSTALLED, configuration);
container.setHome(installer.getHome());
// (3) Statically deploy some WAR (optional)
WAR war = new WAR("cargo.war");
// (4) Set the context root for the application
war.setContext("/myContext");
configuration.addDeployable(war);
// (5) Start the container
container.start();
可以使用 LocalConfiguration interface. You would call setPropertyValue using the right key. The property keys are available on constant interfaces like the GeneralPropertySet 设置属性。
我正在查看 https://codehaus-cargo.github.io/cargo/WebSphere+Liberty.html,但我对如何继续(在 Java 中)创建服务器并在其中安装 Web 应用程序感到困惑。
文档(与上面相同的页面,在底部)提到了属性,但我不清楚如何映射 上下文名称 和 服务器名称 到列出的属性。
是否有关于如何执行此操作的好(或任何)示例?
更新
我的意思是如何将 server create myserver
command, followed by mvn liberty:deploy
等同于刚刚创建的 myserver
,然后是 server start myserver
?
Liberty standalone cargo container 会自动创建一个服务器,所以不需要创建API。服务器名称不能被覆盖,但将被称为 defaultServer。
要部署应用程序,或启动和停止服务器,您可以使用正常的 Java API。 codehause cargo 网站有一些使用 Java API 编写 JUnit test 的示例代码。我添加了带有 Liberty 定制的代码,我添加了关于如何为应用程序设置上下文根的代码。
// (1) Optional step to install the container from a URL pointing to its distribution
Installer installer = new ZipURLInstaller(
new URL("http://repo1.maven.org/maven2/com/ibm/websphere/appserver/runtime/wlp-javaee7/8.5.5.9/wlp-javaee7-8.5.5.9.zip"));
installer.install();
// (2) Create the Cargo Container instance wrapping our physical container
LocalConfiguration configuration = (LocalConfiguration) new DefaultConfigurationFactory().createConfiguration(
"liberty", ContainerType.INSTALLED, ConfigurationType.STANDALONE);
InstalledLocalContainer container =
(InstalledLocalContainer) new DefaultContainerFactory().createContainer(
"liberty", ContainerType.INSTALLED, configuration);
container.setHome(installer.getHome());
// (3) Statically deploy some WAR (optional)
WAR war = new WAR("cargo.war");
// (4) Set the context root for the application
war.setContext("/myContext");
configuration.addDeployable(war);
// (5) Start the container
container.start();
可以使用 LocalConfiguration interface. You would call setPropertyValue using the right key. The property keys are available on constant interfaces like the GeneralPropertySet 设置属性。