2015-08-06 4 views
0

Я пытаюсь использовать библиотеку Jodd-http version 3.6.6 в простом приложении. Приложение отлично работает на тестовом компьютере, на котором установлено java 1.8, но когда я пытаюсь запустить такое же приложение на другом компьютере с java 1.7, оно выбрасывает это исключение.java.lang.NoSuchMethodError: jodd.Jodd.init (Ljava/lang/Class;) V

java.lang.NoSuchMethodError: jodd.Jodd.init(Ljava/lang/Class;)V

эта версия jodd-http не совместима с java 1.7?

ответ

1

модулей Джоддов распределены в двух вариантах:

1 .в единого пучка банка, которые содержат все модули Джодда в одном архиве распределения.

  1. отдельная баночка для каждого модуля.

Таким образом, Jodd может использоваться на любой платформе, где есть подходящая среда исполнения Java 7+.

+0

Отличный ответ! Просто небольшое дополнение, вплоть до v3.6.6, Джодд работал над любой средой Java 5+, начиная с версии v3.7.0, она будет работать на Java 7+. – igr

0

Это не должно быть связано с версией java, но для существования библиотек jodd - вы уверены, что в вашем пути к классам есть jodd-core jar?

Потому что jodd-http не может работать без jodd-core :) И из вашего исключения выглядит только jodd-http jar присутствует в classpath; но не jodd-core.

Вы можете проверить это, пожалуйста?

Я не знаю, используете ли вы maven repo (jCentar или Maven Central), но было бы хорошо, поэтому все эти зависимости можно загружать автоматически.

EDIT:

Проверить HttpClient примера в https://github.com/oblac/jodd-quickstart

EDIT: Проверьте загрузчик классов - если они видят Jodd класс (или любой класс от jodd-core); возможно, classloader по какой-то причине не видит его; или существует несколько разных версий jodd-http на пути к классам.

+0

Да, я использую центральный репозиторий maven. Также это тот же JAR, который я использую на обеих машинах :( – Fanooos