Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 tomcat7 maven插件-将服务器url存储在pom.xml之外_Java_Xml_Maven_Production Environment_Tomcat7 Maven Plugin - Fatal编程技术网

Java tomcat7 maven插件-将服务器url存储在pom.xml之外

Java tomcat7 maven插件-将服务器url存储在pom.xml之外,java,xml,maven,production-environment,tomcat7-maven-plugin,Java,Xml,Maven,Production Environment,Tomcat7 Maven Plugin,我正在做一些开源项目,不想用源代码将生产服务器的URL保存在公共存储库中,但同时我希望有机会使用tomcat maven插件进行部署 我试图将服务器url从pom.xml移到settings.xml,但没有成功。 请您给我一个提示,什么是最好的方法来保持pom.xml中的url 多谢各位 以下是我的配置: settings.xml <settings> <servers> <server> <id>p

我正在做一些开源项目,不想用源代码将生产服务器的URL保存在公共存储库中,但同时我希望有机会使用tomcat maven插件进行部署

我试图将服务器url从pom.xml移到settings.xml,但没有成功。 请您给我一个提示,什么是最好的方法来保持pom.xml中的url

多谢各位

以下是我的配置: settings.xml

<settings>
    <servers>
        <server>
            <id>prod</id>
            <username>deployer</username>
            <password>********</password>
        </server>
    </servers>
</settings>
要部署应用程序,并且属性maven plugin没有在tomcat7 maven plugin配置中的占位符中插入属性。在我因部署阶段而更改了tomcat7 maven插件执行之后,属性的注入通过调用正常工作:

mvn clean deploy

但我想知道的是,是否可以将服务器URL保存在settings.xml中?

根据

您可以在命令行上将服务器名称设置为参数:

mvn clean tomcat7:deploy -Drelease.server="http://host:XXXX"
在pom.xml中,可以像这样引用参数

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <update>true</update>
                <url>${release.server}/manager/text</url>
                <server>MyServer</server>
                <path>/</path>
            </configuration>
        </plugin>

org.apache.tomcat.maven
tomcat7 maven插件
2.2
真的
${release.server}/manager/text
我的服务器
/

为什么要将其移动到settings.xml可能重复???@davidxxx如果你是说为什么我要将其移动到settings.xml而不是application.properties,那么我刚刚更新了帖子。如果您的意思是,为什么我不想将其保存在pom.xml中?因为将生产服务器的地址保存在源代码存储库中(即使是在私有存储库中)是一个安全漏洞,这是关于公共存储库的说法。
mvn clean tomcat7:deploy -Drelease.server="http://host:XXXX"
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <update>true</update>
                <url>${release.server}/manager/text</url>
                <server>MyServer</server>
                <path>/</path>
            </configuration>
        </plugin>