多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 63.2 打包可执行jar和war文件 ### 63.2 打包可执行jar和war文件 一旦`spring-boot-maven-plugin`被包含到你的`pom.xml`中,Spring Boot就会自动尝试使用`spring-boot:repackage`目标重写存档以使它们能够执行。为了构建一个jar或war,你应该使用常规的`packaging`元素配置你的项目: ``` <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- ... --> <packaging>jar</packaging> <!-- ... --> </project> ``` 生成的存档在`package`阶段会被Spring Boot增强。你想启动的main类即可以通过指定一个配置选项,也可以通过为manifest添加一个`Main-Class`属性这种常规的方式实现。如果你没有指定一个main类,该插件会搜索带有`public static void main(String[] args)`方法的类。 为了构建和运行一个项目的artifact,你可以输入以下命令: ``` $ mvn package $ java -jar target/mymodule-0.0.1-SNAPSHOT.jar ``` 为了构建一个即可执行,又能部署到外部容器的war文件,你需要标记内嵌容器依赖为"provided",例如: ``` <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- ... --> <packaging>war</packaging> <!-- ... --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- ... --> </dependencies> </project> ``` **注** 具体参考[“Section 81.1, “Create a deployable war file””](../IX.%20%E2%80%98How-to%E2%80%99%20guides/81.1.%20Create%20a%20deployable%20war%20file.md)章节。 高级配置选项和示例可在[插件信息页面](http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/maven-plugin/)获取。