2015-01-21 23 views
12

Maven costruire riuscito ma quando si tenta di eseguire non riesce con:Impossibile avviare EmbeddedWebApplicationContext a causa della mancanza di fagioli EmbeddedServletContainerFactory

Error: Could not find or load main class app.jar 

ho in resources/META-INF/MANIFEST.MF con

Manifest-Version: 1.0 
Main-Class: go.Application 

Tutto sembra a posto. Cosa c'è che non va?

pom.xml

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.5</version> 
       <configuration> 
        <archive> 
         <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> 
        </archive> 
       </configuration> 

      </plugin> 

     </plugins> 
    </build> 

Update1

Stessa storia quando si costruisce vaso artefatto con IntelliJ.

UPDATE2

OK, sono riuscito a farlo funzionare, ma ora ho:

Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean. 

Update3

ottenuto che funziona con l'aggiunta di Application.java:

@Bean 
     public EmbeddedServletContainerFactory servletContainer() { 
      TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); 
      return factory; 
     } 
+1

Come si avvia l'applicazione? Mi sembra che il parametro '-jar' sia mancante quando viene chiamato java. –

+0

quando aggiungo '-jar' mostra un errore differente' Impossibile accedere a jarfile' –

+0

Sembra che il tuo percorso sia sbagliato. Sei nella directory corretta? –

risposta

4

Ok, così mi è stato battendo la testa su questo ... Ho avuto il seguente:

/** 
* Main class. 
*/ 
@SpringBootApplication 
public class Application { 

    /** 
    * Main entry point for the application. 
    * 
    * @param args The args to pass in 
    */ 
    public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
    } 
} 

e tutte le mie dipendenze erano corrette ..

Dopo una ricerca exhausive, ho trovato il seguente:

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-first-application-executable-jar

Poiché io non sono il genitore di avvio di primavera come il mio genitore, ho dovuto includere la sezione esecuzioni nella mia configurazione del plugin in questo modo:

 <plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
     <configuration> 
      <mainClass>your.Application.fqdn.here</mainClass> 
      <layout>ZIP</layout> 
     </configuration> 
     <executions> 
      <execution> 
      <goals> 
       <goal>repackage</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

vedere il seguente Per ulteriori informazioni:

http://docs.spring.io/spring-boot/docs/1.4.0.BUILD-SNAPSHOT/maven-plugin/usage.html

Problemi correlati