我尝试使用Wildfly Swarm将带有静态HTML页面的webapp文件夹添加到JAXRSArchive。但不幸的是,它没有成功。我怎么能这样做?
答案 0 :(得分:0)
复制src/main/webapp
中的所有静态文件,然后在主方法中添加调用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);
答案 1 :(得分:0)
您能详细说明为什么需要自定义main()吗?
首选选项是不使用自定义main(),或者如果必须使用自定义main()来自定义部署。
您可以调用Swarm.deploy()并创建默认部署,如果您的项目类型为war,则可以正常工作
答案 2 :(得分: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
,并让您使用静态内容。