Я планирую использовать Java-сервлеты в своем приложении. Я включил следующее в проект POM.xml файл для загрузки Java-сервлета 3.0. Jar.
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.servlet</artifactId>
<version>3.2-b05</version>
</dependency>
Проект компилируется отлично. Однако, когда я запускаю его, я получаю следующую ошибку:
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException
Я искал его здесь и нашел хорошие ответы.
Я понял из них, что эта ошибка возникает, когда мы включаем JAR, который содержит только интерфейсы, определенные API сервлета, а не фактическую реализацию. Итак, я проверил, что ящик стеклянной рыбы, который я использую, является просто интерфейсом или он также содержит реализацию. Я обнаружил, что это реализация, а не только интерфейсы.
Итак, теперь мне интересно, почему я получаю эту ошибку во время выполнения. Кто-нибудь?
UPDATE:
Как раз сейчас, я узнал, что это была явная ошибка с моей стороны (я добавлял банку в один проект, в то время как был запущен совсем другой проект!). Прошу прощения за это. Добавление реализации сервлета из морской рыбы. Решает проблему.
Спасибо, Sandeep