Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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 maven发布:准备不尊重系统属性_Java_Maven_Pom.xml - Fatal编程技术网

Java maven发布:准备不尊重系统属性

Java maven发布:准备不尊重系统属性,java,maven,pom.xml,Java,Maven,Pom.xml,我有一个rest客户端实现。由于它是一个客户机,因此需要使用真实凭据进行集成测试。然而,我不想将它们作为源代码属性的一部分签入,特别是因为它将被签入github 我正在使用propertyplaceholderconfigure加载属性并将它们注入我的bean。我可以设置的属性之一是 <property name="systemPropertiesMode"> <!-- this configuration is for security and force

我有一个rest客户端实现。由于它是一个客户机,因此需要使用真实凭据进行集成测试。然而,我不想将它们作为源代码属性的一部分签入,特别是因为它将被签入github

我正在使用
propertyplaceholderconfigure
加载属性并将它们注入我的bean。我可以设置的属性之一是

  <property name="systemPropertiesMode">
        <!-- this configuration is for security and forces these to be passed on commandline since they are dummy values in config-->
        <util:constant
                static-field="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    </property>
跑得很顺利。测试成功

mvn clean release:prepare release:perform -Dapp.username=foo -Dapp.password=bar
失败,因为替换没有发生(我的日志对此很清楚)

我试过:

mvn clean release:prepare release:perform -Darguments="-Dapp.username=foo -Dapp.password=bar"
这是行不通的

我还尝试将配置文件添加到my settings.xml以便发布:

<profile>
    <id>release</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <properties>
        <app.username>foo</app.username>
        <app.password>bar</app.password>
    </properties>
</profile>

释放
假的
福
酒吧
这也失败了

我无法签入这些凭据,但我需要能够将它们用于发布和合法测试。文件中的属性是伪值,并带有注释,因此下次有人出现时,他们知道需要做什么


是否有其他方法来解决这个问题,或者我只是没有正确地使用这个方法

您是否尝试过:mvn-Dapp.username=foo-Dapp.password=bar清洁发布:prepare-release:perform-Darguments=“-Dapp.username=foo-Dapp.password=bar”我已经分别尝试过这两种方法。在>发布:准备中忽略-D选项。nest-D应该传递给分叉进程
<profile>
    <id>release</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <properties>
        <app.username>foo</app.username>
        <app.password>bar</app.password>
    </properties>
</profile>