Maven 多个配置文件不工作

bjzhanghao 阅读:22 2024-11-01 17:39:52 评论:0

我想将我的 war 上传到两个单独的位置。为此,我在我的 pom.xml 中定义了以下配置文件;

   ........ 
    <profile> 
    <id>deployPoc</id> 
    <activation> 
        <activeByDefault>false</activeByDefault> 
    </activation> 
    <properties> 
        <jboss.host>POC_Deploy</jboss.host> 
        <jboss.deployDir>/storage2/home/server1/</jboss.deployDir> 
        <jboss.deployUrl>scp://server1.com</jboss.deployUrl> 
    </properties> 
    <build> 
        <plugins> 
            <plugin> 
                <groupId>com.atlassian.maven.plugins</groupId> 
                <artifactId>maven-upload-plugin</artifactId> 
                <version>1.1</version> 
                <dependencies> 
                    <dependency> 
                        <groupId>org.apache.maven.wagon</groupId> 
                        <artifactId>wagon-ssh</artifactId> 
                        <version>2.4</version> 
                    </dependency> 
                </dependencies> 
                <configuration> 
                    <resourceSrc> 
                        ${project.build.directory}/${project.build.finalName}.${project.packaging} 
                    </resourceSrc> 
                    <resourceDest>${jboss.deployDir}</resourceDest> 
                    <serverId>${jboss.host}</serverId> 
                    <url>${jboss.deployUrl}</url> 
                </configuration> 
            </plugin> 
        </plugins> 
    </build> 
</profile> 
<profile> 
    <id>uploadUpdate</id> 
    <activation> 
        <activeByDefault>false</activeByDefault> 
    </activation> 
    <properties> 
        <updateReleaseHost>PluginReleaseSite</updateReleaseHost> 
        <updateReleaseDir>/var/www/html/releases/Latest/</updateReleaseDir> 
        <updateReleaseUrl>scp://server2.com</updateReleaseUrl> 
    </properties> 
    <build> 
        <plugins> 
            <plugin> 
            <groupId>com.atlassian.maven.plugins</groupId> 
            <artifactId>maven-upload-plugin</artifactId> 
            <version>1.1</version> 
            <dependencies> 
                <dependency> 
                    <groupId>org.apache.maven.wagon</groupId> 
                    <artifactId>wagon-ssh</artifactId> 
                    <version>2.4</version> 
                </dependency> 
            </dependencies> 
            <configuration> 
                <resourceSrc> 
                    ${project.build.directory}/${project.build.finalName}.${project.packaging} 
                </resourceSrc> 
                <resourceDest>${updateReleaseDir}</resourceDest> 
                <serverId>${updateReleaseHost}</serverId> 
                <url>${updateReleaseUrl}</url> 
            </configuration> 
          </plugin> 
    </plugins> 
  </build> 
</profile> 

我正在尝试使用以下命令执行这两个命令,并且只执行其中一个命令;

mvn help:active-profiles upload:upload -PdeployPoc -PuploadUpdate 

它只执行“uploadUpdate”,我已经尝试了一切,即 -Pa,b; -P a,b 等等

尽管 maven 显示以下内容,但似乎没有任何工作;

The following profiles are active: 
 
 - releaseRepository (source: external) 
 - snapshotsRepository (source: external) 
 - deployPoc (source: com.Project:1.0-SNAPSHOT) 
 - uploadUpdate (source: com.Project:1.0-SNAPSHOT) 

我错过了什么吗?

谢谢,

--

朱内乔

请您参考如下方法:

根据配置文件,您使用的是相同的插件,这意味着您具有相同的执行,这意味着相同的执行 ID,这在您的情况下是相同的。

我建议使用具有不同 ID 的显式执行。

除上述之外,我建议使用 jboss plugin部署到应用程序服务器,这不是 Maven 的预期方法。


标签:Maven
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号