1

我正在尝试使用 Wildfly Swarm 将带有静态 HTML 页面的 webapp 文件夹添加到 JAXRSArchive。但不幸的是,它没有成功。我怎样才能做到这一点?

4

3 回答 3

0

您能否详细说明为什么需要自定义 main()?

首选选项是不使用自定义 main(),或者如果您必须使用自定义 main() 才能不自定义部署。

你可以调用 Swarm.deploy() ,它会创建一个默认部署,如果你的项目是战争类型,它将正常工作

于 2016-12-30T03:09:43.107 回答
0

将所有静态文件复制到 src/main/webapp main 方法中并添加调用staticContenet,如下所示

public static void main(String... args) throws Exception {
    Swarm container = new Swarm();
    JAXRSArchive jaxrsDeployment = ShrinkWrap.create(JAXRSArchive.class);
    jaxrsDeployment.addAsLibrary(container.createDefaultDeployment());
    jaxrsDeployment.addAllDependencies();
    jaxrsDeployment.staticContent();
    container.start();
    container.deploy(jaxrsDeployment);
于 2016-12-29T00:34:57.990 回答
0

这个问题已经过时了。但是我为遇到同样问题的人发布了这个解决方案。

如果您在使用JAX-RS时未指定@ApplicationPath.

默认情况下,JAX-RS 监听/应用程序的根目录并覆盖标准映射。

在这种情况下,您必须添加如下配置:

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/api")
public class JaxRSConfiguration extends Application {
}

这将为您的所有JAX-RS端点添加前缀,/api并让您使用静态内容。

于 2017-11-25T15:29:08.047 回答