最近由于需要把项目部署到内存较小的服务器,所以需要在java技术栈中选择一款开发快且轻量级的web框架,进过技术选型后决定使用jFinal框架,特点不再赘述
通过官方文档的教程运行起来的服务,打成jar包后服务器上执行报错,提示没有朱勤大,也就是no main file,在该jar包中,找不到启动类的入口main文件
解决方法:
需要在pom.xml文件中加入main文件标识,以确保会把main文件打进包中
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.12.RELEASE</version>
<configuration>
<mainClass>com.example.test.JfinalConfig</mainClass>
<!-- <skip>true</skip> --> <!-- 移除或设置为 false -->
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
其中skip是关键参数,默认为true,如果没有指定为false,或者移除,就会跳过main文件的打包,从而出错