Eu tenho um aplicativo Spring MVC construída em Eclipse que eu estou tentando implantar como uma guerra (para GlassFish). Eu tenho uma classe de aplicativo que se parece com isso:
package com.jp5.rest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service;
@Service
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
public static void init() {
SpringApplication.run(Application.class);
}
}
Edit: Eu estou chegando perto. O arquivo de guerra agora implanta. Mas, eu não posso chegar a qualquer um dos pontos finais de serviços web (todos eles retornar 404s) Agora, eu tenho um web.xml:
<?xml version=1.0 encoding=ISO-8859-1?>
<web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns=http://java.sun.com/xml/ns/javaee xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd version=3.0>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
E um aplicativo de context.xml assim:
<?xml version=1.0 encoding=UTF-8?>
<beans xmlns=http://www.springframework.org/schema/beans
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:context=http://www.springframework.org/schema/context
xsi:schemaLocation=http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd>
<bean id=application class=com.jp5.rest.Application
init-method=init >
</bean>
<context:component-scan base-package=com.jp5.rest/>
</beans>
O controlador é algo como isto:
package com.jp5.rest;
@ComponentScan
@EnableAutoConfiguration
@Controller
@RequestMapping(/jp5/rest/message)
public class MessageRestService
{
@RequestMapping(method=RequestMethod.PUT, value=/test)
public @ResponseBody testResult test()
{
return new testResult(true, test);
}
}
Editar 2 Agradecimentos para os ponteiros. A solução a partir daqui: http://spring.io/guides/gs/convert-jar-to-war/ foi adicionar uma classe como este. Eu não testei ainda, mas, penso que este pode tomar o lugar do web.xml:
package com.jp5.rest;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.SpringBootServletInitializer;
public class Jp5RestXML extends SpringBootServletInitializer {
@Override
protected void configure(SpringApplicationBuilder application) {
application.sources(Application.class);
}
}
obrigado













