Wildfly Swarm JAXRSArchive添加webapp目录
问题描述:
我试图将带有静态HTML页面的webapp文件夹添加到带有Wildfly Swarm的JAXRSArchive中。但不幸的是它没有成功。我怎样才能做到这一点?Wildfly Swarm JAXRSArchive添加webapp目录
答
所有静态文件复制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);
答
你能细说为什么你需要一个定制的main()?
首选选项是不使用自定义main(),或者如果您必须具有自定义main()不自定义部署。
您只需拨打Swarm.deploy(),它会创建一个默认的部署,而如果你的项目类型的战争,将正常工作
答
这个问题已经过时。但是,我为那些遇到同样问题的人发布了这个解决方案。
如果您使用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
,让你与静态内容合作。
你解决了这个问题吗?我有同样的问题。 –