2012-07-11 4 views
0

mvn clean install으로 성공적으로 구축 할 수있는 프로젝트가 있습니다. 나는 또한 완전히 같은 POM에서 "mainClass을 '자격으로 SRC/COM/mycompany/myproject라는/폴더에 포함 된 스크립트를 실행하기 위해 mvn exec:java command를 사용할 수 있습니다Maven을 사용하여 현재 (최상위) 디렉토리에서 파일을 실행하는 방법은 무엇입니까?

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <configuration> 
     <mainClass>com.mycompany.myproject.MyMainClass</mainClass> 
    </configuration> 
</plugin> 

하지만 난에 포함 된 스크립트를 실행하고 싶습니다 프로젝트 최상위 폴더, 즉 pom.xml 파일이 들어있는 동일한 폴더. 이 클래스는 빌드되는 프로젝트의 기능을 보여 주며 실제로 프로젝트 자체가 아니므로 src/com/mycompany/myproject에 포함되지 않은 이유의 예제 응용 프로그램입니다. mainClass를 단순히 <mainClass>MyClassInCurrentFolder</mainClass>으로 입력하면 찾지 못합니다.

src/com/mycompany/myproject/아래에이 클래스 만 포함하고 다른 프로젝트를 종속성으로 사용하는 완전히 별도의 Maven 프로젝트를 만들 수 있다고 가정합니다. 그러나 나는 그렇게하지 않을 것입니다. 그것은 결국 프로젝트를위한 매우 간단한 데모 어플리케이션 일뿐입니다.

Maven을 사용하여 최상위 폴더에서이 파일을 실행하는 방법에 대한 아이디어가 있습니까?

+0

실행하려는 Java 클래스의 정확한 위치를 알고있는 경우 exec : exec를 사용할 수 있습니다. –

+0

"스크립트"를 실행하고 싶지만 결국에는 Java 클래스를 실행하려고한다고 말했습니까? 질문을 명확하게 할 수 있습니까? –

답변

0

실제 코드와 데모를 분리하는 가장 좋은 방법이기 때문에 직접 언급 한 것과 같이 별도의 모듈을 사용하는 것이 좋습니다. 이렇게하면 데모 사용법이 간단 해지고 데모 모듈에 맞게 구성됩니다.

+0

이것은 내가 끝내었던 것이다. 내가 생각한 또 다른 대안은 프로젝트 패키지에 프로젝트를 포함하여 프로젝트 src 트리에 추가하여 데모 애플리케이션을 프로젝트의 일부로 만드는 것입니다. 하지만 그것은 나에게 덜 깨끗한 것처럼 보였습니다. 그리고 아마 이런 식으로 분리하면 더 많은 유연성을 누릴 수 있습니다. – mindthief