我新建了一个maven工程,以java -jar方式启动,做代码测试,在构建jar包时遇到问题。
1. no main manifest attribute
是因为没设置启动类。
2. 找不到依赖的jar包中的类。报no class found exception.
需要将依赖的jar打到被运行的jar中。
解决方案: POM.XML中加入如下插件, 然后执行命令 mvn package assembly:single
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <mainClass>com.example.demo.service.Test</mainClass> </manifest> <manifestEntries> <Class-Path>.</Class-Path> </manifestEntries> </archive> <descriptorRefs> <descriptorRef> jar-with-dependencies </descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> </build>