我正在关注https://codehaus-cargo.github.io/cargo/WebSphere+Liberty.html,我更倾向于如何继续(在Java中)创建服务器并在其中安装webapp。
文档(与上面相同的页面,在底部)提到了属性,但我不清楚如何将上下文名称和服务器名称映射到列出的属性。
有关于如何做到这一点的好(或任何)示例吗?
更新
我的意思是我如何执行相当于server create myserver
命令,然后mvn liberty:deploy
进入刚刚创建的myserver
,然后是server start myserver
?
答案 0 :(得分:1)
Liberty独立货物集装箱将自动创建服务器,因此无需创建API。但是服务器名称不能被覆盖,并且将被称为defaultServer。
要部署应用程序,或启动和停止服务器,您可以使用普通的Java API。 codehause货运网站有一些使用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界面设置属性。您可以使用右键调用setPropertyValue。属性键可用于GeneralPropertySet等常量接口。