0

我有 Maven 将文件复制到远程服务器,我的代码片段如下

<scp trust="true" file="myfile.txt" todir="myuser:mypassword@myserver:/remotedir">
<sshexec trust="true" failonerror="true" host="myserver" 
 username="myuser" password="mypassword" ....>

有没有办法避免硬编码密码?希望在执行时有提示mvn

4

1 回答 1

1

我假设您使用 maven-antrun-plugin,因为这个片段看起来更像一个 ant 脚本。

本答案中所述,您可以将 maven 属性传递给 maven-antrun-plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>compile</id>
            <phase>compile</phase>
            <configuration>
                <target>
                    <property name="antProperty" value="${my.custom.property}"/>
                    <echo message="Custom Ant Property is: ${antProperty}"/>
                    <echoproperties />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

您现在可以通过命令行将属性值传递给 maven 构建:

mvn compile -Dmy.custom.property=hello
于 2018-09-02T11:58:17.457 回答