1

main 메소드를 포함하고있는 pom.xml을 사용하여 같은 폴더에있는 클래스 파일 (또는 jar 파일)을 실행하고 싶습니다. 여기 exec-maven-plugin 클래스 패스를 구성하는 방법

내 pom.xml 파일

http://maven.apache.org/maven-v4_0_0.xsd "> 4.0.0 tuomas 수면 치어 1.0-SNAPSHOT

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.5.0</version> 
     <executions> 
      <execution> 
      <id>sleep</id> 
      <phase>verify</phase> 
      <goals> 
       <goal>java</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <mainClass>tuomas.App</mainClass> 
      <classpathScope>tuomas</classpathScope> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
입니다

,332,558,374,321 :

그리고 나는 다음과 같은 오류가 발생합니다 0

내 폴더 구조는 다음과 같습니다.

pom.xml 입니다. ..tuomas..App.class

또한 플러그인 구성에서 classpathScope 속성을 지정하지 않으려 고 시도했지만 대신 다음 오류가 발생했습니다.

[WARNING] 
java.lang.ClassNotFoundException: tuomas.App 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281) 
     at java.lang.Thread.run(Thread.java:745) 

클래스 파일이 튜어 폴더 또는 프로젝트 루트에 관계없이 관계 없습니다. 또한 성공적으로 로컬 메이븐 저장소에 jar를 설치하려고 시도했습니다.

프로젝트 폴더에서 클래스를 찾으려면이 플러그인을 어떻게 구성해야합니까?

+0

폴더 구조는 무엇입니까? 초기 스캐 폴드를 생성하기 위해 maven simple archetype을 사용 했습니까? –

답변

1

먼저 <classpathScope> 매개 변수를 제거하십시오. Maven에는 toumas이라는 범위가 없으며 these 만 있습니다. 기본값은 runtime이며 대부분의 사람들에게 적합합니다.

main 메서드가 toumas 패키지와 App.java 패키지에 있으면 제공됩니다.

명세서 :

"I have also tried not to specify classpathScope attribute in plugin configuration, and got the following error instead."

는 자바 파일이 정말 src/main/java 미만인 경우 궁금한데?

+0

Intellij에 새로운 Java 프로젝트를 생성하고 나중에 pom.xml을 추가했을 때 Java 파일이 실제로 src/main/java에 있는지 궁금하게 생각합니다. 디렉토리 구조는 동일하지 않았습니다. – maksimov

관련 문제