我正在开发一个java Web应用程序(No Spring).我想使用单独的db进行生产和测试.我在src / main / resources中有两个文件–env.properties和env.test.properties.
我在https://maven.apache.org/guides/mini/guide-building-for-different-environments.html中提到的pom.xml中定义了配置文件.
<profiles>
<profile>
<id>test</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete file="${project.build.outputDirectory}/environment.properties"/>
<copy file="src/main/resources/environment.test.properties"
tofile="${project.build.outputDirectory}/environment.properties"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>test</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
但是,当我通过maven test -Ptest运行测试时,我看到我的测试是从env.properties中使用db执行的,然后在测试完成后,配置文件切换发生.
我也有一个建立测试和部署的jebkins管道.
我在这里错过了什么吗?从env.test.properties读取属性的正确方法是什么(激活配置文件并运行测试)?
非常感谢.
解决方法:
你这么做很难.
删除配置文件并将文件从src / main / resources / environment.test.properties移动到src / test / resources / environment.properties
当执行单元测试时,将在src / main / resources中的资源之前找到并加载src / test / resources /中的资源.
标签:java,maven,jenkins,maven-3 来源: https://codeday.me/bug/20190608/1196727.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。