2013-05-22 3 views
3

2 개의 sepearet 위치에 내 전쟁을 업로드하고 싶습니다. 이를 위해 내 pom.xml에 다음 프로필을 정의했습니다.Maven 다중 프로필이 작동하지 않습니다.

........ 
    <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를 의미하는 같은 실행을 의미 같은 플러그인을 사용하는 프로파일을 바탕으로 SJunejo

답변

5

당신의 케이스.

다른 Id를 가진 명시 적 실행을 사용하는 것이 좋습니다.

위와 별개로 Maven의 의도 된 접근 방식이 아닌 응용 프로그램 서버에 배포하려면 jboss plugin을 사용하는 것이 좋습니다.

+0

고유 한 실행 ID로 여러 번 실행 해 보았습니다. 모든 구성을 하드 코딩하고 프로파일을 모두 제거했습니다. 플러그인은 다음 예외를 throw합니다. [오류] 목표 com.atlassian.maven.plugins를 실행하지 못했습니다. maven-upload-plugin : 1.1 : 프로젝트에 업로드 (기본 -Cli) Hothouse : 목표 com에 대한 매개 변수 'serverId', 'url', 'resourceSrc' .atlassian.maven.plugins : maven-upload-plugin : 1.1 : 업로드가 누락되었거나 유효하지 않음 -> [Help 1] :-( – SJunejo

+0

위의 주석과 같이 한 번에 두 번 실행을 실행할 수 없습니다. 작업을 두 부분으로 나누고 mvn 업로드를 실행합니다. 각 업로드마다 두 번 -PXXX를 업로드합니다. 여기에 설명 된 기술을 사용했습니다. http://stackoverflow.com/questions/4360958/maven-wagon-plugin-can-wagonupload-upload-to- 여러 위치 – SJunejo

관련 문제