springboot打包如何跳过test
时间: 2024-10-20 19:10:09 浏览: 25
maven打包跳过test命令maven-springboot-war-master.zip
在Spring Boot项目中,如果你想在打包时不包含测试代码,可以在`build.gradle`或`mvn pom.xml`文件中设置一些配置来控制maven或gradle的构建行为。
**Gradle** (对于`application`模块):
```groovy
tasks {
build.dependsOn test // 默认情况下,构建任务会依赖于test任务,所以需要移除这个依赖
jar {
excludeGroup 'org.junit', 'junit'
excludeName '**/*.class' // 这里可以排除所有以`.class`结尾的测试相关的文件
}
}
```
或者,在`settings.gradle`中添加:
```groovy
task wrapper(type: Wrapper) {
gradleVersion = '5.0.0' // 或者你实际使用的版本
configurations.all {
exclude group: 'org.junit', module: 'junit'
}
}
```
**Maven** (在pom.xml中):
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
<!-- 过滤掉test源码 -->
<configuration>
<excludes>
<exclude>**/src/test/java/**</exclude>
<exclude>**/src/test/resources/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<classifier>main</classifier> <!-- 如果你想创建一个不含test的独立jar包 -->
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<excludes>
<exclude>META-INF/spring.factories</exclude> <!-- 这行可以根据实际情况调整,排除spring的测试文件 -->
<exclude>**/Test*</exclude> <!-- 排除非main的类和资源 -->
</excludes>
</archive>
</configuration>
</plugin>
</plugins>
</build>
```
阅读全文