Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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 使用Exec插件在Maven构建期间连接到数据库_Java_Spring_Maven_Build_Exec Maven Plugin - Fatal编程技术网

Java 使用Exec插件在Maven构建期间连接到数据库

Java 使用Exec插件在Maven构建期间连接到数据库,java,spring,maven,build,exec-maven-plugin,Java,Spring,Maven,Build,Exec Maven Plugin,在使用特定概要文件时,我使用execmaven插件来运行main方法。例如: mvn process-resources -Psomeprofile 在这种方法中,我希望能够使用我的应用程序代码运行在数据库上执行操作的代码,但是此时数据库没有连接。我通常使用spring来注入一些服务类的资源,但这也是不可能的,因为main()是静态的。是否有某种方法可以加载我的applicationContexts并通过maven构建和运行应用程序?为什么不使用集成测试来实现这些目的?您不需要一个main,您

在使用特定概要文件时,我使用execmaven插件来运行main方法。例如:

mvn process-resources -Psomeprofile

在这种方法中,我希望能够使用我的应用程序代码运行在数据库上执行操作的代码,但是此时数据库没有连接。我通常使用spring来注入一些服务类的资源,但这也是不可能的,因为
main()
是静态的。是否有某种方法可以加载我的applicationContexts并通过maven构建和运行应用程序?

为什么不使用集成测试来实现这些目的?您不需要一个main,您可以使用TestNG之类的东西来实现这类功能。但这不是一个测试,它是一个我需要通过应用程序代码来维护数据库中对象的实用程序。它既不是测试代码,也不是主代码,所以这个实用程序代码不应该放在那里(尤其不应该放在最终的工件中)。而是单独使用它(例如/src/util/java):一个具有该实用程序代码和通过编程获得的spring上下文的类。在您的pom中进行特殊处理。不过,pom将被清除,变得复杂。也许有更多的细节在手,一些更优雅的解决方案会出现。那个实用程序代码的输出到底是什么?为什么是进程内资源?