我已经生成了一个Spring Boot web应用程序,使用Spring初始化器,嵌入式Tomcat,Thymeleaf模板engine.Technologies使用:Spring Boot1.4.2.RELEASE,Spring4.3.4.RELEASE,Thymeleaf2.1.5.RELEASE,Tomcat Embed 8.5.6,Maven 3,Java8
我有一个Spring靴应用程序,有以下2个类:
@Profile("!war")
@SpringBootApplication
@Import({SecurityConfig.class ,PersistenceConfig.class, ServiceConfig.class})
public class BookApplication {
public static void main(String[] args) {
SpringApplication.run(BookApplication.class, args);
}
}
@Profile("war")
@Import({SecurityConfig.class ,PersistenceConfig.class})
@SpringBootApplication
public class BookApplicationWar extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BookApplicationWar.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(BookApplicationWar.class, args);
}
}
我用这个命令生成战争
mvn clean package -DskipTests -Dspring.profiles.active=pebloc,war -DAPP-KEY=pebloc
但我犯了这个错误:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) on project book: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage failed: Unable to find a single main class from the following candidates [com.tdk.BookApplication, com.tdk.BookApplicationWar] -> [Help 1]
为了消除spring boot应用程序入口点的歧义,可以在Gradle构建文件中添加以下指令
springBoot {
mainClassName = 'your.org.bla.TestKt'
}
通过start-class属性定义单个主类
<properties>
<start-class>com.may.Application</start-class>
</properties>
或者,在spring-boot-maven-plugin中定义主类
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.may.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
或通过配置文件
<profiles>
<profile>
<id>profile1</id>
<properties>
<spring.boot.mainclass>com.may.Application1</spring.boot.mainclass>
</properties>
</profile>
<profile>
<id>profile2</id>
<properties>
<spring.boot.mainclass>com.may.Application2</spring.boot.mainclass>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>${spring.boot.mainclass}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果您有多个主类,则需要在每个配置文件中显式配置主类:
<profiles>
<profile>
<id>profile1</id>
<properties>
<spring.boot.mainclass>com.SomeClass</spring.boot.mainclass>
</properties>
</profile>
<profile>
<id>profile2</id>
<properties>
<spring.boot.mainclass>com.SomeOtherClass</spring.boot.mainclass>
</properties>
</profile>
</profiles>
…
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.2.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<mainClass>${spring.boot.mainclass}</mainClass>
</configuration>
</execution>
</executions>
...
</plugin>
参见Spring靴:重新包装
就像标题中提到的,我有一个Spring Boot项目。试图从我的IDE中启动项目时,它说,找不到主类。 我在这里发现了一个相对等价的问题:Spring Boot程序找不到main类 errormessage如下所示:“Fehler:Hauptklasse de.main.main konnte nicht gefunden oder geladen Werden”大致翻译为:“Error:main
问题内容: 我试图从命令promopt运行一个示例Java应用程序,但出现以下错误: 我用来尝试运行此应用的命令是: 所有相关文件都位于当前工作目录中(.java,.class和.jar文件) 我用来构建.class文件的命令如下(有2个.java文件): 再次从同一工作目录运行-的内容(或多或少): 我试图以C#开发人员的身份学习Java,所以我在编程概念方面拥有深厚的背景,整个Java工具链目
我试图在spring boot repository类中执行此查询,但console显示错误''邮递员也显示: 查询存储库
我试图在spring boot应用程序中作为servlet容器运行undertow,我遵循了所有关于它的说明,但从日志来看,tomcat似乎是web服务器。 以下是日志: 21-03-17 00:15:45.481INFO[,][restartedMain]o.s.b.w.embedded.tomcat.TomcatWebServer:Tomcat初始化端口:8080(超文本传输协议) 2021-
问题内容: 我在src / main / webapp / VAADIN / themes / mytheme /中为我的VAADIN应用程序自定义了主题,文件为mytheme.scss和styles.scss。当在web.xml中将vaadin productionMode部署参数设置为false时,一切正常。当我将参数设置为true时,突然Vaadin找不到我主题的资源,并不断抱怨: 我没有/
我有一个简单的Java项目,当我在Eclipse环境中执行它时,它可以工作。但是当我尝试将它导出到Runnable Jar时,我收到以下错误: 我阅读了其他帖子,建议创建一个MANIFEST.MF文件,指定我所做的主类。它位于MyProjectFolder/META-INF/MANIFEST.MF,它包含以下信息: 我的主类如下: 有人知道我错过了什么吗?非常感谢任何帮助。 谢谢。