Programing

Maven : 명령 줄에서 대상 디렉터리 경로를 변경하는 방법은 무엇입니까?

lottogame 2020. 10. 22. 07:38
반응형

Maven : 명령 줄에서 대상 디렉터리 경로를 변경하는 방법은 무엇입니까?


Maven : 명령 줄에서 대상 디렉터리 경로를 변경하는 방법은 무엇입니까?

(경우에 따라 다른 대상 디렉토리를 사용하고 싶습니다)


프로필을 사용해야합니다.

<profiles>
    <profile>
        <id>otherOutputDir</id>
        <build>
            <directory>yourDirectory</directory>
        </build>
    </profile>
</profiles>

그리고 프로필로 maven을 시작하십시오.

mvn compile -PotherOutputDir

명령 줄에서 디렉토리를 정의하려면 다음과 같이 할 수 있습니다 ( 전혀 권장하지 않음 ).

<properties>
    <buildDirectory>${project.basedir}/target</buildDirectory>
</properties>

<build>
    <directory>${buildDirectory}</directory>
</build>

그리고 다음과 같이 컴파일하십시오.

mvn compile -DbuildDirectory=test

사용하여 대상 디렉토리를 변경할 수 없기 때문입니다. -Dproject.build.directory


Colin이 올바른 프로필을 사용해야합니다. 그러나 그의 대답은 프로필의 대상 디렉토리를 하드 코딩합니다. 대체 솔루션은 다음과 같은 프로필을 추가하는 것입니다.

    <profile>
        <id>alternateBuildDir</id>
        <activation>
            <property>
                <name>alt.build.dir</name>
            </property>
        </activation>
        <build>
            <directory>${alt.build.dir}</directory>
        </build>
    </profile>

이렇게하면 POM, 사용자 설정 또는 명령 줄에서 제공 할 수있는 alt.build.dir 속성이 제공하는 모든 것으로 빌드 디렉토리를 변경하는 효과가 있습니다. 속성이 없으면 일반 대상 디렉터리에서 컴파일이 수행됩니다.


내 솔루션 :

  • pom.xml에서 :

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <outputDirectory>${dir}</outputDirectory>
            </configuration>
        </plugin>
    
  • bash의 명령 :

    mvn package -Ddir="/home/myuser/"

참고 URL : https://stackoverflow.com/questions/3908013/maven-how-to-change-path-to-target-directory-from-command-line

반응형