"Unable to find main class" mit Maven auf spring-boot-Projekt in Eclipse
Ich bin ziemlich verzweifelt da ich nicht mehr kompilieren können, mein Maven-Projekten. Ich habe ein logisches Projekt, aufgeteilt in 7 maven-Module, die bisher zusammengestellt in Ordnung, aber heute habe ich eingeführt, ein feature, wobei ich versehentlich erzeugt eine kreisförmige maven-Abhängigkeit. Also ich überarbeitete Sie den code und beseitigt werden, die die zirkuläre Abhängigkeit. Seit ich aktualisiert die pom Dateien entsprechend den fix mein Projekt baut keine mehr. Wenn ich führen Sie maven mit "-X sauber installieren" bekomme ich die folgende java.lang.IllegalStateException: Unable to find main class
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] agiletunes-parent
[INFO] agiletunes-util
[INFO] agiletunes-security-common
[INFO] agiletunes-marketing-persistence
[INFO] agiletunes-common-ui
[INFO] agiletunes-security-client
[INFO] agiletunes-marketing-application
[INFO] agiletunes-security-server
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building agiletunes-parent 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) @ agiletunes-parent ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ agiletunes-parent ---
[INFO] Installing C:\Users\Alexander\Documents\Development\agileTunes\agiletunes-parent\pom.xml to C:\Users\Alexander\Documents\Development\mavenArtifacts\com\agiletunes\agiletunes-parent\0.0.1\agiletunes-parent-0.0.1.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building agiletunes-util 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ agiletunes-util ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Alexander\Documents\Development\agileTunes\agiletunes-util\src\main\resources
[INFO] skip non existing resourceDirectory C:\Users\Alexander\Documents\Development\agileTunes\agiletunes-util\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ agiletunes-util ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ agiletunes-util ---
[INFO] Not copying test resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ agiletunes-util ---
[INFO] Not compiling test sources
[INFO]
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ agiletunes-util ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ agiletunes-util ---
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) @ agiletunes-util ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] agiletunes-parent .................................. SUCCESS [ 1.492 s]
[INFO] agiletunes-util .................................... FAILURE [ 1.095 s]
[INFO] agiletunes-security-common ......................... SKIPPED
[INFO] agiletunes-marketing-persistence ................... SKIPPED
[INFO] agiletunes-common-ui ............................... SKIPPED
[INFO] agiletunes-security-client ......................... SKIPPED
[INFO] agiletunes-marketing-application ................... SKIPPED
[INFO] agiletunes-security-server ......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.674 s
[INFO] Finished at: 2017-03-21T21:53:04+01:00
[INFO] Final Memory: 31M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) on project agiletunes-util: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage failed: Unable to find main class -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) on project agiletunes-util: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage failed: Unable to find main class
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage failed: Unable to find main class
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.IllegalStateException: Unable to find main class
at org.springframework.boot.loader.tools.Repackager.buildManifest(Repackager.java:354)
at org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:273)
at org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:258)
at org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:190)
at org.springframework.boot.maven.RepackageMojo.repackage(RepackageMojo.java:212)
at org.springframework.boot.maven.RepackageMojo.execute(RepackageMojo.java:199)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
[ERROR]
...
Dies ist die pom.xml meiner maven parent Projekt:
<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>
<groupId>com.agiletunes</groupId>
<artifactId>agiletunes-parent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<name>agiletunes-parent</name>
<description>Maven parent project of agiletunes</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath></relativePath>
</parent>
<modules>
<module>../agiletunes-common-ui</module>
<module>../agiletunes-marketing-application</module>
<module>../agiletunes-marketing-persistence</module>
<module>../agiletunes-security-client</module>
<module>../agiletunes-security-common</module>
<module>../agiletunes-security-server</module>
<module>../agiletunes-util</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Java -->
<java.version>1.8</java.version>
<!-- Spring -->
<spring.boot.version>1.5.2.RELEASE</spring.boot.version>
<!-- persistence -->
<mysql-connector-java.version>6.0.5</mysql-connector-java.version>
<!-- util -->
<guava.version>17.0</guava.version>
<!-- testing -->
<mockito.version>1.9.5</mockito.version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version><!--$NO-MVN-MAN-VER$ -->
<scope>runtime</scope>
</dependency>
<!-- utils -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- unit test framework -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Was muss ich tun, um dies zu beheben? Bitte lassen Sie mich wissen, sollten Sie weitere Informationen benötigen. Vielen Dank im Voraus.
- Möglich, Duplikat der Wie kann ich sagen, Spring Boot, die main-Klasse zu verwenden, für die ausführbare jar-Datei?
- Was lässt Sie glauben, dass es ein problem der Branche? Ich konnte wieder gehen, da ich eine git-Versionsverwaltung. Aber ich Frage mich, ob die eclipse-version ist das problem?
- Liebe asettouf, vielen Dank für das feedback. Aus dem maven übergeordnete Perspektive habe ich eine Anzahl der wichtigsten Methoden, da mehrere, aber nicht alle Module haben eine Haupt -, wie Sie verwendet werden können, die innerhalb einer anderen maven-Projekten oder standalone. Ich dachte, dass dies machbar mit Maven und bisher war das nie ein problem. Das util-Modul, wurden die integrierten hält, hat wirklich keine main. Also, ich fürchte, die anderen post darauf hingewiesen, ist nicht die Lösung der Frage, denn nach meinem Verständnis es erfordert nur eine main-Methode in das gesamte Projekt.
- Liebe Ortomala Lokni. Ich zögerte, um reset-Zweig, aber Sie hatten Recht. Nach dem reset funktioniert alles wieder. Vielen, vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie dieses
nur in jene Module, die Sie ausführen möchten, aber nicht in der parent pom.
Können Sie versuchen, indem Sie diese in den Eigenschaften-Abschnitt Ihrer pom
Ich hatte das gleiche problem. Es endete als eine spring-boot-mvn plugin Erklärung auf ein Teilprojekt, das eigentlich gar nicht laufen (keine main-Klasse). Ich einfach entfernt die spring-boot-mvn plugin aus dem Submodul und alles lief fein
Eigenschaft hinzufügen, um maven Eigenschaften wie dieses
Ich das Problem,
Fügen Sie den folgenden code pom-Datei,
Dann bauen die build-tag, wie folgt,
Würden Sie nicht einfach sagen Sie es durch die Verwendung der annotation
@SpringBootApplication
?https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-using-springbootapplication-annotation.html
Nur für jemanden, der sich mit ähnlichen promblem. Ich fügte
spring-boot-maven-plugin
im parent-POM in den AbschnittpluginManagement
Abschnitt wie diesen:Dann habe ich das plugin nur in die Module es (in
plugin
Abschnitt).Projekt wurde erfolgreich gebaut, dass nach.
wenn Sie nicht über eine main-Klasse in springboot Projekt, können Sie die Ausführung spring-boot-maven-plugin von Folgen
In meinem Fall: ich hatte, um die "sourceDirectory" und meine pom.xml geändert von:
...
...
zu
...
...
Wenn Sie manuell erstellen Sie Ihre Sprint-Boot-Projekt mithilfe von maven, dann stellen Sie sicher, Ihr Projekt hat eine Klasse wie "class Anwendung extends SpringBootServletInitializer" mit main-Methode in die.