如何使用 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 设置属性。