最近在做项目,使用是spring boot。做了一段时间想打包放到服务器上看看效果。于是使用maven命令进行打包。
打开项目根路径,打开命令行窗口。输入命令mvn install。结果提示如下错误:
Unable to find a single main class
网上查找资料,发现是多个class存在main方法。照着方案,将对应的class的main方法都注释掉了。结果提示另外的错误:
Unable to find main class
原来spring boot项目使用maven打包,如果没有做配置的话,会自动寻找签名是public static void main(String[] args)的方法。所以,第一次提示找到多个class,第二次未找到class。而配置项是什么呢?
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.3.RELEASE</version> <configuration> <mainClass>com.xx.webapps.api.main.WebappsApiBidMain</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions></plugin>
在plugin/confiuration/mainClass中指定spring boot的入口class
于是,我在admin模块的pom中添加了该配置,service模块没有添加。再次尝试,结果还是同样的错误。这就奇怪了,多模块工程,只有admin工程才是有入口class的。service模块只是个服务工程,本来就没有入口class。那该如何设置呢?
其实很简单,只需要在service模块中添加:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>
配置添加,设置过滤即可。
参考资料:Maven多模块打包遇到的问题详解
Spring Boot Maven Plugin打包异常及三种解决方法:Unable to find main class
还没有评论,来说两句吧...