apache mime4j maven зависимость для 0.7.2
Попытка использовать зависимость Apache Mime4J для версии 0.7.2 следующим образом:
<repositories>
<repository>
<id>org.apache.james</id>
<url>http://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j</artifactId>
<version>0.7.2</version>
</dependency>
Я получил сообщение об ошибке, что зависимость не может быть загружена. После проверки этого http://uk.maven.org/maven2/org/apache/james/apache-mime4j/0.7.2/apache-mime4j-0.7.2.jar действительно не существует, но http://uk.maven.org/maven2/org/apache/james/apache-mime4j/0.7.2/ имели.bin.tar.gz. Я решил эту проблему, используя:
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j</artifactId>
<version>0.6.1</version>
</dependency>
Поэтому это не будет ссылаться на более свежую версию 0.7.2.
Это мой "набор вопросов":
- Почему версия 0.7.2 не содержит файл Jar?
- Как мне ссылаться на зависимость, чтобы получить последнюю версию Jar?
- Нужно ли это в любом случае?
- Какие различия существуют между выпуском 0.7.2 и 0.6.1?
1 ответ
Вопрос 1: Почему артефакт может не существовать
Согласно журналу изменений, был проведен некоторый рефакторинг, чтобы разделить функциональность на три части: ядро, dom и хранилище.
Вопрос 2: Как получить последний артефакт
изменить зависимости на:
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-core</artifactId>
<version>0.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-dom</artifactId>
<version>0.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-storage</artifactId>
<version>0.7.2</version>
</dependency>
Вопрос 3: мне это нужно?
если вы хотите использовать улучшенный DOM API: да. Вам нужно будет изменить свои операторы импорта и больше не можете использовать новое Message(). использование
MessageServiceFactory.newInstance().newMessageBuilder().newMessage();
вместо. Функция multipart.getBodyParts() также изменилась и теперь возвращает сущность. Для Entity нет isMimeType(). Вы могли бы хотеть использовать getMimeType() вместо этого.
Вопрос 4. Что изменилось между версиями?
Смотрите журнал изменений между 0.7.2 и 0.6.1.