日常开发工作,我们主要负责写代码。发布项目怎么样?好吧,这不是我们的工作。我们知道打包和发布项目应该不是一个困难的问题。
是的,最简单的方法就是直接使用maven插件进行打包。我们甚至不需要知道它是如何实现的。该插件可以帮助我们将项目打包成jar包,然后使用 java -jar xx.jar 就会运行我们的项目。
java -jar xx.jar
我们在开发中通常使用的数据库是开发或测试数据库,一般与生产数据库隔离。这意味着打包时需要激活生产配置文件,但我们不一定有访问生产库的权限。 ,这时候如果我们直接打包就会出现问题。当我们直接点击上面的包时,就会激活单元测试。需要通过测试才可以打包。但显然测试无法通过,因为我已经激活了生产配置,但没有访问生产库的权限。这是有时候你会感觉自己一直在打包却从未完成,这就需要我们在打包时跳过测试。那么如何跳过测试呢?
为什么打包时需要进行单元测试? 【这不是我们的重点,简单说一下吧。如果需要深入了解,可以自行查看相关资料。 】这个时候就涉及到Maven的生命周期了。 Maven的默认生命周期有23个阶段。每个生命周期的后期阶段将取决于之前的阶段。当某个阶段执行时,会先执行。它的前几个阶段。
在默认的生命周期中,package阶段不是第一阶段,所以也需要依赖前面阶段的执行,只是测试阶段【测试:使用合适的单元测试框架来运行测试(Juint是其中之一)。 ] 是其前面的阶段之一。这时必须先通过测试阶段,然后才能进入打包阶段【打包:将编译好的代码打包成可分发的格式文件,如JAR、WAR...】。
因为我们没有访问生产库的权限,所以此时我们连测试阶段都过不了,所以不会到达打包阶段。那么解决办法是什么呢?我们来讨论一下这个问题的解决办法:
我们可以使用命令来打包项目,只需添加命令即可跳过测试。有两个命令可以跳过测试:
mvn 包 -DskipTests=true
-DskipTests=true
target/test-classes
mvn包-Dmaven.test.skip=true
-Dmaven.test.skip=true
使用mvn package进行编译打包时,Maven会执行src/test/java中的JUnit测试用例。有时为了跳过测试,会使用参数-DskipTests=true。 和-Dmaven.test.skip=true,这两个参数的主要区别是:
src/test/java
-DskipTests=true。 和-Dmaven.test.skip=true,这两个参数的主要区别是:
可以在pom.xml中添加以下配置来跳过测试:
<构建><插件><插件> <groupId>org.apache .maven.pluginsgroupId> <artifactId>maven-surefire-pluginart ifact Id> <配置 > <跳过>true跳过> 配置> 插件> 插件>构建>
Maven命令栏的工具栏有下图所示的图标。该图标是跳过测试。点击选择,然后使用LifeStyle中的包装跳过测试。
跳过测试
LifeStyle