2014-02-14 3 views
1

maven war 프로젝트를 만들고 javaEE API 및 openCSV를 추가했습니다. in eclipse jar, import 클래스를 모두 볼 수 있으며 컴파일 오류없이 사용할 수 있습니다.Maven JAR - 클래스를 찾을 수 없음 예외

하지만 난 바람둥이를 사용하여 나는이 예외 얻을 CSV 파일을 저장하려고 응용 프로그램을 실행하면

java.lang.NoClassDefFoundError: au/com/bytecode/opencsv/CSVWriter 

JavaEE 어플 API를 잘 작동합니다.

나는 컴파일을 추가하려고했지만 아무런 효과가 없었다. 이 예외가 발생하는 코드입니다

<modelVersion>4.0.0</modelVersion> 
<groupId>com.training</groupId> 
<artifactId>DevProject</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 
<dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.opencsv</groupId> 
     <artifactId>opencsv</artifactId> 
     <version>2.3</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

:

내 치어입니다 CSVWriter 작가 = 새로운 CSVWriter (새 FileWriter ("file.csv은"));

아이디어가 있으십니까? 그런 다음 Maven Dependencies이 목록에 있는지 확인

  1. 오른쪽
  2. 클릭 Properties
  3. 클릭 Deployment Assembly

에 치어를 포함하는 Eclipse 프로젝트를 클릭 :

+0

배포 된 이슈에 종속성/종속성이 누락되었습니다. –

+0

Eclipse (내 생각 엔)가 Tomcat 내부에서 앱을 실행하는 방식에 따라 다릅니다. WAR (Maven 사용)을 패키징하여 "실제"Tomcat에 배포 했습니까? – Tome

+0

'7.0' 대신'javaee-api' 버전'6.0'을 시도하십시오. 범위가'provide'이어야하고 오류가 계속 발생하면 클래스가 속한 종속성을 찾아서 추가 해보십시오. – Omoro

답변

1

기본 자바 EE API를의 음 ... 엉망이된다.

실제적으로 물건을 실행하는 것이 아니라 물건을 컴파일하는 것만을 의미합니다. 일부 저작권 또는 잊어 버린 모든 문제점으로 인해 내용이 실제로 존재하지 않습니다. 당신이 종속성을 정의 할 때

그래서 당신은 명시해야합니다 추가 "범위"및 런타임에 실제 구현을 추가하는 것이

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 

참고.

(또는 테스트 케이스를 허용하기 위해 자주 수행하는 작업) jboss와 같은 실제 구현을 포함 할 수 있습니다.

0

이 시도 그 앞에있는 배포 경로는 WEB-INF/lib

입니다.

필요한 경우 Add... 버튼을 클릭 한 다음 ApplyOK 버튼을 클릭하십시오.

enter image description here

관련 문제