Maven执行提示密码

时间:2018-09-02 11:29:24

标签: maven scp maven-antrun-plugin maven-ant-tasks

我有Maven可以将文件复制到远程服务器,下面是我的代码段

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

有没有办法避免对密码进行硬编码?想要在执行mvn

时出现提示

1 个答案:

答案 0 :(得分:1)

我假设您使用了maven-antrun-plugin,因为此代码段看起来更像是一个蚂蚁脚本。

this answer中所述,您可以将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