Jboss EAP上的springBoot应用程序,未放置servlet上下文
我有一个非常简单的spring boot应用程序,我想将其部署到Jboss EAP。这是我的简单应用程序类:
@SpringBootApplicationpublic class MayurApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(MayurApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(applicationClass);
}
private static Class<MayurApplication> applicationClass = MayurApplication.class;
}
@RestController
class GreetingController {
@RequestMapping("/hello/{name}")
String hello(@PathVariable String name) {
return "Hello, " + name + "!";
}
}
而且我的pom.xml也很基础。当我在Tomcat上运行此应用程序时,使用嵌入式Tomcat随Spring
Boot一起提供。只需单击一下,一切都变得像魅力。我可以访问http://localhost:8080/demo/hello/World
,它也可以工作。
现在,我试图使其与Jboss EAP兼容,使之脱离spring-boot-starter-
web,从而禁用了Tomcat,并将其转换为war项目。(如http://spring.io/blog/2014/03/07/deploying-
spring-boot-applications文章所述)。
我还补充说:
<dependency> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>,
因为它在抱怨。
现在,所有这些都可以很好地编译并发动战争。当我将此战争复制到jboss部署时,可以看到它已成功部署在控制台上。但是其余的api
http://localhost:8080/demo/hello/World
不能正常工作,并不断在浏览器上引发错误:
JBWEB000068: message /demo/hello/WorldJBWEB000069: description JBWEB000124: The requested resource is not available.
我究竟做错了什么?
回答:
我在JBoss 6.4.0中遇到了类似的问题。和Spring Boot 1.3与Tiles 3结合使用。安装Jboss补丁jboss-eap-6.4.6-patch.zip之后,问题已解决。
修补后,我不需要使用设置server.servlet-path = / *
显然,“ /”在Jboss EAP 6.3上不起作用,但是“ / *”有效。他们似乎已经用wildfly 8修复了它
以上是 Jboss EAP上的springBoot应用程序,未放置servlet上下文 的全部内容, 来源链接: utcz.com/qa/406765.html