java Eclipse如何在junit测试替换变量之前执行maven构建?
我有一个相当大的maven项目,其中包含一些集成测试(JUnit)。最后,将使用Maven构建该项目,在构建过程中,Maven将用相应的值交换一些文件(如${project.version.major}
或${project.version.minor}
)中的一些变量。这些值将用于在测试服务器上创建对服务的查找。如果我使用maven来构建或让Jenkins来构建它们,那么会有几十个有效的集成测试。所以我不想更改测试,只想更改设置,以便Eclipse使用maven进行构建
同样的测试也适用于其他开发人员。但它们没有特殊的运行配置,也没有人记得做过任何特殊的事情来让它们按应有的方式运行。所以我想这可能是我做错的一件非常基本的事情
如果我执行一个mvn clean install
,那么效果非常好。不幸的是,如果我在Eclipse中运行测试,它将不会交换值,测试将失败,并出现NameNotFoundException。这些测试目前作为JUnit测试运行,尽管我在同一个项目中的一个小型测试java应用程序也有同样的问题
当我运行mvn clean install
而不是内置编译器时,如何说服Eclipse执行mvn clean install
(或任何其他可行的解决方案)
拜托ELI5,我还在试着弄清楚Eclipse
# 1 楼答案
确保您的Eclipse安装了Maven集成特性/插件(也称为“m2e”,请参见https://www.eclipse.org/m2e/download/)。当安装了它并将项目配置为Maven项目时,它将负责Maven从命令行执行的构建阶段的部分,例如替换资源中的变量