Je reçois cette erreur dans le tracé de la pile lorsque je tente de lancer:démarrage de l'application a échoué - Impossible de traiter les candidats à l'importation pour la classe de configuration
java -jar spring-boot-starter-web.jar
De ma ligne de commande sur mon build pour mon pot de ma Application de démarrage de printemps. Je ne suis pas sûr de ce qui cause cette erreur. Je laisse IntelliJ faire la construction du projet.
[principal] ERREUR org.springframework.boot.SpringApplication - démarrage de l'application échoué org.springframework.beans.factory.BeanDefinitionStoreException: Échec pour traiter les candidats à l'importation pour la classe de configuration [app.ContactRunner]; l'exception imbriquée est java.lang.IllegalArgumentException: aucune classe de configuration automatique trouvée dans META-INF/spring.factories. Si vous utilisez un emballage personnalisé , assurez-vous que ce fichier est correct.
Pour référence, la classe ContactRunner est juste:
@SpringBootApplication
public class ContactRunner {
public static void main(String[] args) throws Exception {
SpringApplication.run(ContactRunner.class, args);
}
}
Le spring-boot-starter-parent
est dans le pom.xml
, ainsi que celui du spring-boot-maven-plugin
que d'autres personnes ayant des questions similaires ont résolu leur problème avec elle. Je ne peux pas comprendre ce qui se passe. Voici mon plein pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Output to jar format -->
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starters</artifactId>
<version>1.5.7.RELEASE</version>
</parent>
<artifactId>NameProject</artifactId>
<name>Spring Boot Web Starter</name>
<description>Starter for building web, including RESTful, applications using Spring
MVC. Uses Tomcat as the default embedded container
</description>
<url>http://projects.spring.io/spring-boot/</url>
<organization>
<name>Pivotal Software, Inc.</name>
<url>http://www.spring.io</url>
</organization>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<!-- JPA Data (for using Repositories, Entities, Hibernate, etc...) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Use MySQL Connector-J -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.194</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>spring-boot</classifier>
<mainClass>
app.ContactRunner
</mainClass>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
</project>
J'ai aussi essayé de construire le projet avec mvn clean package
mais il échoue à cause des dépendances en double que je ne peux pas sembler enlever, comme vous pouvez voir mes questions dans cette question, donc c'était essayer une autre route.
Des idées? L'application fonctionne bien dans IntelliJ, mais pas avec un pot.
A donné un coup de feu, mais il dit le même problème malheureusement. – NateH06
La structure de votre package est-elle correcte? La classe '@ SpringBootApplication' des moyens devrait être dans le paquet supérieur. –
Par exemple, laissez votre classe @SpringBootApplication est à l'intérieur d'un paquet a.b.c alors toutes les autres classes de stéréotypes de printemps devraient aller à l'intérieur a.b.c.x –