Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse如何在junit测试替换变量之前执行maven构建?_Java_Eclipse_Maven_Junit - Fatal编程技术网

Java Eclipse如何在junit测试替换变量之前执行maven构建?

Java Eclipse如何在junit测试替换变量之前执行maven构建?,java,eclipse,maven,junit,Java,Eclipse,Maven,Junit,我有一个相当大的maven项目,其中包含一些集成测试(JUnit)。最后,将使用Maven构建该项目,在构建过程中,Maven将使用相应的值交换一些文件中的一些变量,如${project.version.major}或${project.version.minor}。这些值将用于在测试服务器上创建对服务的查找。如果我使用maven来构建或让Jenkins来构建它们,那么会有几十个有效的集成测试。所以我不想更改测试,只想更改设置,以便Eclipse使用maven进行构建 同样的测试也适用于其他开发

我有一个相当大的maven项目,其中包含一些集成测试(JUnit)。最后,将使用Maven构建该项目,在构建过程中,Maven将使用相应的值交换一些文件中的一些变量,如
${project.version.major}
${project.version.minor}
。这些值将用于在测试服务器上创建对服务的查找。如果我使用maven来构建或让Jenkins来构建它们,那么会有几十个有效的集成测试。所以我不想更改测试,只想更改设置,以便Eclipse使用maven进行构建

同样的测试也适用于其他开发人员。但它们没有特殊的运行配置,也没有人记得做过任何特殊的事情来让它们按应有的方式运行。所以我想这可能是我做错的一件非常基本的事情

如果我执行
mvn干净安装
,效果非常好。不幸的是,如果我在Eclipse中运行测试,它将不会交换值,测试将失败,并出现NameNotFoundException。这些测试目前作为JUnit测试运行,尽管我在同一个项目中的一个小型测试java应用程序也有同样的问题

当我运行Eclipse而不是内置编译器时,如何说服Eclipse执行
mvn干净安装?
(或任何其他可行的解决方案)


请ELI5,我仍在试图弄清楚Eclipse是否安装了Maven集成特性/插件(也称为“m2e”,请参阅)。当安装了它并且将项目配置为Maven项目时,它将负责Maven从命令行执行的构建阶段的部分工作,例如替换资源中的变量。

为什么要更改这些信息?你是在开发插件还是在尝试实现什么?创建一个读取版本号的服务。在测试中,模拟服务并返回所需内容。在生产环境中,使用从文件中读取的具体服务。这对你有用吗?不管别人告诉你什么,如果它是你应用程序的一部分,听起来很可疑。请让我们知道你为什么要这样做that@khmarbaise-这是我们基础设施的一部分。总结:我们总是调用具有相同版本号的内容,因此这些信息总是被项目的当前版本替换是很重要的。您不能在Eclipse中更改构建行为(除了编写自定义构建器)。但是,您可以在“运行方式”菜单中右键单击项目来运行MVN命令。