Language/Java

profile deploy

아르비스 2016. 5. 31. 12:34

하나의 pom에서 여러 버전을 profile을 이용하여 build 하는 경우,


이경운 pom의 artifactId 값이 같아서. nexus에서 사용하기 힘들었다.


이런경우 "<classifier>xxxx</classifier>" 를 이용하면 쉽게 해결 가능하다.


pom

<groupId>com.test.com</groupId>

<artifcatId>profileTest</artifactId>

<version>0.0.1</version>


<profiles>

  <profile>

    <id>test1</id>

    <build>

        <finalName>xxxx-aaaa-${classifier}</finalName>

        <plugins>

             <plugin>

                  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-jar-plugin</artifactId>

   <configuration>

<classifier>server</classifier>

<classesDirectory>${project.build.directory}/classes</classesDirectory>

<includes>

<include>com/aaa/snnet/**</include>

</includes>

                   </configuration>

              </plugin>

          </plugins>

       </build>

    </profile>


    <profile>

       <id>test2</id>

        ....

    </profile>

</profiles>




mvn clean deploy -Ptest1


위와 같이 진행하면,

nexus에서는  xxxx-aaaa-server.jar 파일이 올라가게 된다.


해당 jar를 받을때는 아래 같이 하면 받을 수 있다.


<dependency>

    <groupId>com.test.com</groupId>

    <artifcatId>profileTest</artifactId>

    <version>0.0.1</version>

    <classifier>server</classifier>

</dependency>

 



참 쉽죠잉~~!!