如何在Visual Studio Code中编译Maven项目并生成JAR包?
在VS Code中执行Maven Assembly打包生成Jar包的方法
嘿,作为Maven新手碰到这个问题太正常了!完全可以在VS Code里实现和命令行mvn assembly:assembly一样的效果,生成你需要的Jar包,我给你分步骤讲清楚:
前提准备
首先确保你已经在VS Code里安装了Maven for Java扩展——直接在左侧扩展面板搜这个名字就能找到并安装,它是VS Code处理Maven项目的核心工具。
方法一:通过VS Code的Maven可视化面板操作
- 打开左侧侧边栏的Maven面板(图标是一个大写的M)
- 在面板里找到你的项目,展开
Plugins目录,再找到assembly插件 - 展开
assembly后,你会看到assembly:assembly这个目标,右键点击它,选择「Run Maven Build」 - 等待执行完成,你的Jar包就会生成在项目根目录下的
target文件夹里啦
方法二:直接在VS Code终端执行命令
这个和你在外部命令行操作完全一致,更适合习惯敲命令的同学:
- 打开VS Code的终端(快捷键`Ctrl + ``,或者从顶部菜单栏选「Terminal」→「New Terminal」)
- 确保终端当前路径是你的项目根目录(也就是包含
pom.xml的那个文件夹) - 直接输入命令:
mvn assembly:assembly
- 回车执行,完成后同样在
target目录里就能找到生成的Jar包
关键补充:为什么调试运行没生成Jar?
你之前用调试器运行项目时,VS Code默认调用的是Maven的compile或者exec相关目标,只负责编译代码并启动程序,不会触发assembly打包流程,所以不会生成Jar包——必须专门执行assembly的打包命令才行。
额外提示:配置Assembly插件(如果还没配置的话)
如果执行assembly:assembly时出现报错,大概率是你的pom.xml里还没配置Maven Assembly插件。可以把这段配置加到pom.xml的<build><plugins>节点里:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <!-- 生成包含所有依赖的Jar包 --> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <!-- 替换成你项目的主类全路径,比如com.example.MyMain --> <mainClass>your.package.name.YourMainClass</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <!-- 绑定到package生命周期,以后执行mvn package也会自动打包 --> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
配置完成后,你甚至可以直接运行Maven的package目标(在Maven面板的Lifecycle里找到package右键运行),同样能生成带依赖的Jar包,不用每次都手动敲assembly:assembly。
内容的提问来源于stack exchange,提问作者Todd A.




