메이븐 런 프로젝트 간단히 실행하기위한 Maven “단계”또는 “목표”가 있습니까?

Java 클래스의 기본 메소드를 간단히 실행하기위한 Maven “단계”또는 “목표”가 있습니까? 단순히 “mvn run”과 같은 것을 수행하여 수동으로 테스트하고 싶은 프로젝트가 있습니다.



답변

exec maven 플러그인을 참조하십시오 . 다음을 사용하여 Java 클래스를 실행할 수 있습니다.

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

mvn exec:java플러그인 구성이 pom.xml에 있는 것처럼 간단하게 호출 할 수 있습니다 . Mojohaus의 플러그인 사이트에 보다 자세한 예제가 있습니다.

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>com.example.Main</mainClass>
                    <arguments>
                        <argument>argument1</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

답변

1. POM.xml 편집

에 다음 속성을 추가하십시오 pom.xml. main메소드 가 포함 된 완전한 클래스 이름 (예 : 패키지 이름)을 사용해야합니다 .

<properties>
        <exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>

2. 커맨드 실행

이제 터미널에서 다음 명령을 트리거하십시오.

mvn clean compile exec:java

참고-Dexec.args="xxx" 플래그 를 통해 추가 인수를 전달할 수 있습니다 .


답변

위에서 언급 한 답변은 정확하지만 나 같은 멍청한 놈을 위해 단순화하고 있습니다. 프로젝트의 pom 파일로 이동하십시오. 새 속성을 추가하고 exec.mainClass기본 메서드가 포함 된 클래스로 값을 지정하십시오. 나에게는이었다 DriverClass에서 mainpkg. 프로젝트에 따라 변경하십시오.

이 작업을 수행하면 프로젝트가 들어있는 폴더로 이동 pom.xml하여 명령 프롬프트에서 실행하십시오 mvn exec:java. 메인 메소드를 호출해야합니다.


답변

pom.xml에 새 플러그인을 추가 할 필요가 없습니다. 이 명령을 실행하십시오

mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)' 

자세한 사용법 은 maven exec 플러그인 을 참조하십시오 .


답변

주고받는 Exec에서 메이븐 플러그인 시도를


답변

clean package exec:java -P Class_Containing_Main_Method 다음 Maven Setup을 사용하여 프로젝트에 하나의 Main method (PSVM) 만있는 경우 명령도 옵션입니다.

다음 <properties></properties>섹션 에서 클래스를 언급하는 것을 잊지 마십시오 pom.xml.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.main.class>com.test.service.MainTester</java.main.class>
</properties>

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
           <mainClass>${java.main.class}</mainClass>
        </configuration>
</plugin>

위의 Maven Setup과 함께 STS Run Configuration :