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.

Другие вопросы по тегам