위와 같은 에러가 나오면서 maven 에서 mvn install 을 통해서 생성한 jar 파일이 실행이 안되는 경우가 있습니다.
이경우에는 실행가능한 jar를 생성할때 실행할 mainClass 를 지정하지 않아서 생기는 문제입니다.

실행가능한 JAR 를 만드는데 아래와 같은 단계를 추천합니다.

1. JAR 의 MAINFEST.MF 파일에서 main 클래스를 정의합니다. (MAINFEST.MF 파일을 Maven에서 애플래케이션을 패키징할때 생성되는 파일입니다.)
2. 프로젝트에 종속된 모든 라이브러리를 찾습니다.
3. 애플리케이션에서 해당 라이브러리를 참조할수 있도록 MAINFEST.MF 파일에 포함시킵니다.

위의 작업을 수동으로 직접할 수 도 있지만 maven-jar-plugin 과 maven-dependency-plugin 이라는 maven 플러그인을 사용하여 효율적으로 수행할 수 있습니다.

maven-jar-plugin
pom.xml 파일의 <build></build> 안에 아래내용을 추가합니다.

  1. <plugin>      
  2. <groupId>org.apache.maven.plugins</groupId>  
  3.     <artifactId>maven-jar-plugin</artifactId>  
  4.     <configuration>  
  5.         <archive>  
  6.             <manifest>  
  7.                 <addClasspath>true</addClasspath>  
  8.                 <classpathPrefix>lib/</classpathPrefix>  
  9.                 <mainClass>com.mypackage.MyClass</mainClass>  
  10.             </manifest>  
  11.         </archive>  
  12.     </configuration>  
  13. </plugin>  


mainClass 에 실행할 메인클래스를 지정합니다.

maven-dependency-plugin

pom.xml 파일의 <build></build> 안에 아래내용을 추가합니다.
  1. <plugin>  
  2.     <groupId>org.apache.maven.plugins</groupId>  
  3.     <artifactId>maven-dependency-plugin</artifactId>  
  4.     <executions>  
  5.         <execution>  
  6.             <id>copy</id>  
  7.             <phase>install</phase>  
  8.             <goals>  
  9.                 <goal>copy-dependencies</goal>  
  10.             </goals>  
  11.             <configuration>  
  12.                 <outputDirectory>  
  13.                      ${project.build.directory}/lib  
  14.                 </outputDirectory>  
  15.             </configuration>  
  16.         </execution>  
  17.     </executions>  
  18. </plugin>  


위와 같이 내용을 추가하였으면 다시 jar를 만들고 실행해 보면 실행이 될겁니다.

참조 :
https://www.ibm.com/developerworks/kr/library/j-5things13/
Posted by 빨강토끼
,