Spring Boot com server WildFly 9

Estou desenvolvendo um simples webservice, criei uma classe Main

[CODE]
@SpringBootApplication
public class Main {

public static void main(String[] args) throws Exception {
SpringApplication.run(Main.class, args);
}

}
[/CODE]

Executa normalmente o webservice criado.

Inclui no server do Eclipse, o server WildFly 9, aparentemente starta o projeto normalmente, porém quando vou testar o projeto no POSTMAN(http://localhost:8080/cursos ou http://localhost:8080/TesteSpringBoot/cursos), dá erro de

Error 404 - Not Found

segue abaixo o meu POM :slight_smile:

[CODE]

4.0.0
com.algaworks
postrest
1.0.0-SNAPSHOT
jar

 <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.2.RELEASE</version> 
 </parent> 

 <dependencies> 
     <dependency> 
          <groupId>org.springframework.boot</groupId> 
          <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
 </dependencies> 
[/CODE]

por quer quer utilizar o Spring Boot em um Servidor Java EE ? Qual a finalidade nisso ?

O spring boot já tem um server embutido que no caso o default é tomcat, mas pode ser trocado por jetty ou undertow .

1 curtida

@Daniel_Dias, é que quando tiver pronto, vou disponibilidar esse Ear ou War, em um servidor Jboss, WildFly ou TomCat.

Existe outra forma sem ter que instalar um Container ???

Obrigado

Evandro

Imagino, então que posso executar isso :slight_smile:

[CODE]
@SpringBootApplication
public class Main {

public static void main(String[] args) throws Exception {
    SpringApplication.run(Main.class, args);
}

}
[/CODE]

No commad do windows certo ???

Que eu saiba, o Spring Boot não gera EAR/War , ele gera um JAR executável e não faz nenhum sentindo utiliza-lo em um servidor Java EE . Se você quer utilizar esse tipo de empacotamento EAR/War utilize de vez o Wildfly / glassfish/payara .

Dentro da IDE roda normal como se fosse um app desktop comum.
Para roda-lo fora da IDE use java -jar meuAPP.jar .

Entendi.

Obrigado @Daniel_Dias

O tópico é meio antigo mas vou responder para futuras consultas.

O Spring Boot gera war normalmente, você só precisa fazer uma configuração no seu projeto e mudar a forma de empacotamento da sua aplicação.

Você pode acessar o site do Spring initializer e gerar o bootstrap da aplicação para comparar com o seu projeto.

Basicamente você tem que colocar os jars do container como provided runtime e criar uma classe para iniciar o Spring Boot quando o contexto iniciar.

Segue um exemplo:

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main (String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

Note o extends, é ele que faz toda a mágica.

Obs: para alterar a forma de empacotamento no site do spring initializer você precisa clicar em switch to full version.