Maven Spring引导忽略主类
我有一个项目(SpringBoot、maven、war),我需要将其分为两个项目。新项目依赖于第一个项目中的类,因此新项目依赖于第一个项目。不幸的是,两个项目都有main类,新项目在部署到tomcat时总是从第一个项目运行main类。我在pom.xml中定义了起始类和主类,我可以看到,生成的war文件包含具有正确主类的清单,但它没有帮助。。。我做错了什么 来自新项目的My pom.xml(重要部分): 应用程序在ApacheTomcat8.0.12上运行Maven Spring引导忽略主类,maven,spring-boot,Maven,Spring Boot,我有一个项目(SpringBoot、maven、war),我需要将其分为两个项目。新项目依赖于第一个项目中的类,因此新项目依赖于第一个项目。不幸的是,两个项目都有main类,新项目在部署到tomcat时总是从第一个项目运行main类。我在pom.xml中定义了起始类和主类,我可以看到,生成的war文件包含具有正确主类的清单,但它没有帮助。。。我做错了什么 来自新项目的My pom.xml(重要部分): 应用程序在ApacheTomcat8.0.12上运行 谢谢。我发现了我的错误-我必须从第一个项
谢谢。我发现了我的错误-我必须从第一个项目重写SpringBootServletializer类,以指向正确的主类。因此,我在新项目中添加了SpringBootServletilizer类的新实现。正确的实现是使用spring@Profile注释初始化的。问题可能与spring引导无关,而是与maven war插件有关。该应用程序使用spring boot及其嵌入式tomcat在我的本地计算机上正确运行,但当它部署在独立的tomcat服务器上时无法运行。或者这可能与wicket有关-有两个WebApplication类,而在独立的tomcat上运行的是坏的一个。。。
<project ...
<properties>
<start-class>x.y.z.a.NewApplication</start-class>
</properties>
...
<dependency>
<groupId>x.y.z</groupId>
<artifactId>OriginalProject</artifactId>
<version>1</version>
<classifier>classes</classifier>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>x.y.z.a.NewApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>x.y.z.a.NewApplication</mainClass>
</manifest>
</archive>
...
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: michal
Start-Class: x.y.z.a.NewApplication
Spring-Boot-Version: 1.2.1.RELEASE
Created-By: Apache Maven 3.0.5
Build-Jdk: 1.8.0_25
Main-Class: org.springframework.boot.loader.WarLauncher