Я создал проект войны maven и добавил API javaEE и openCSV. в eclipse Я могу видеть как банки, так и импортировать классы и использовать их без ошибок компиляции.Maven JAR - класс не найден Исключение
но при запуске приложения с помощью кота и пытается сохранить файл CSV, я получаю это исключение:
java.lang.NoClassDefFoundError: au/com/bytecode/opencsv/CSVWriter
JavaEE апи работает нормально.
Я попытался добавить компиляцию, но это не принесло пользы.
это мой ПОМ:
<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"));
Любые идеи?
Вам не хватает зависимости/зависимостей в развернутом артефакте. –
Это зависит от того, как Eclipse (я думаю) запускает ваше приложение внутри Tomcat. Вы пытались упаковать WAR (с Maven) и развернуть его на «реальном» Tomcat? – Tome
Попробуйте 'javaee-api' version' 6.0' вместо '7.0', и его область должна быть« предоставлена », и если ошибка все еще существует, попробуйте выяснить, к какой зависимости принадлежит этот класс, и попробовать добавить его. – Omoro