[SpringBoot][Maven][IDEA] IDEA+SpringBoot+Maven 生成jar包

651 阅读1分钟

生成jar

首先,如果使用的是maven,那么直接执行package指令就可以生成jar包,如下图: 但是,当我们使用java -jar xx.jar运行时,会报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
        at com.MainApplication.main(MainApplication.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

大概的意思就是缺少依赖。

解决jar包依赖问题

通过修改pom文件,解决依赖问题。

在pom文件中添加:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

然后重新打包(package)即可。

需要注意的是,随着IDEA的升级,现在开始出现了一个新的标签pluginManagement,在这个标签里,也同样有plugins标签,但千万不要把pluginManagement中的plugins当成上文中出现的plugins标签,即下面的写法是错误的:

<build>
	<pluginManagement>
	    <plugins>
	        <plugin>
	            <groupId>org.springframework.boot</groupId>
	            <artifactId>spring-boot-maven-plugin</artifactId>
	        </plugin>
	    </plugins>
	</pluginManagement>
</build>