Подтвердить что ты не робот

Как я могу использовать Maven для получения последней версии Hibernate?

У меня возникли проблемы с получением последней версии Hibernate через зависимость от Maven. Похоже, что последнее, что я могу получить из центрального репозитория Maven, - 3.2.6.GA, и меня интересует использование 3.3.2.GA, который является последней версией, указанной на сайте hibernate.org. Когда я изменяю зависимость hibernate с этой последней версией в моем проекте pom.xml, я получаю следующую ошибку при запуске сборки Maven:

Missing:
----------
1) org.hibernate:hibernate:jar:3.3.2.GA

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.hibernate -DartifactId=hibernate -D
version=3.3.2.GA -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:

      mvn deploy:deploy-file -DgroupId=org.hibernate -DartifactId=hibernate -Dve
rsion=3.3.2.GA -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[
id]

Как только я это сделаю, я продолжаю получать ошибки, указывающие, что мне нужно добавить зависимость javassist, тогда мне нужно обновить зависимость hibernate-validator, которая также должна быть установлена ​​локально, и в этот момент я остановился и огляделся чтобы увидеть, есть ли лучший способ, возможно, указывая Maven на репозиторий JBoss/Hibernate и т.д. Это действительно кажется головной болью по сравнению с другими значительными пакетами открытого курса, которые я использую, например, Spring или JUnit, - когда есть новая версия, выпущенная все, что я делаю, обновляет номер версии в элементе зависимости, и она просто работает.

Я попробовал добавить нижеприведенное объявление репозитория в свой pom.xml, но без радости:

<repositories>
    <repository>
        <id>jboss</id>
        <url>http://repository.jboss.org/maven2</url>
    </repository>
</repositories>

Я искал Google и не нашел много полезного. Может ли кто-нибудь предложить наиболее простой способ использовать последние версии спящего или гибернатного ядра (3.3.2.GA), hibernate-validator (3.1.0) и hibernate-annotations (3.4.0)?

4b9b3361

Ответ 1

JBoss начал синхронизировать свое собственное репо с центральным Maven как размещенное на блоге сообщества JBoss, поэтому артефакты hibernate теперь доступны без необходимо добавить репозиторий JBoss в ваш менеджер pom.xml или репозитория.

Результат поиска для hibernate-core:

search result for hibernate-core

Чтобы добавить Hibernate Core 3.6.3 в ваш проект, просто добавьте следующий фрагмент к вашему pom:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.6.3.Final</version>
</dependency>

Ответ 2

У вас проблемы, потому что org.hibernate: hibernate: 3.3.2.GA - это агрегатор POM, используемый для сборки остальных модулей, на самом деле это не баночка. Похоже, что рефакторинг произошел после 3.2.7, и это отбросило людей. Для справки это запись в блоге намекает на проблемы, с которыми они продвигали Hibernate в центр и может объяснить изменение.

Если вы посмотрите в репозитории JBoss, вы увидите, что размещены модули hibernate для 3.3.2.GA, они просто размещены как отдельные артефакты, hibernate-core, hibernate-ehcache и т.д. Итак, ваше объявление репозитория верно, вам просто нужно точно настроить объявления зависимостей, чтобы внести изменения в учет.

В репозитории JBoss размещаются hibernate-annotations-3.4.0.GA, hibernate-validator-3.1.0.GA и hibernate-core-3.3.2.GA среди других. Попробуйте добавить к вашему POM конкретные артефакты и использовать репозиторий JBoss, как вы уже объявили.

Существует также hibernate-dependencies pom, который обеспечивает переходные зависимости для большинства артефактов гибернации (включая ядро). Таким образом, проще всего было бы заменить существующее выражение о спящем режиме с помощью спящего режима

Ваши зависимости будут такими, как это...

<dependencies>
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-dependencies <!--or hibernate-core--></artifactId>
    <version>3.3.2.GA</version>
    <type>pom</type>
    <!--hibernate-dependencies is a pom, not needed for hibernate-core-->
  </dependency>
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.4.0.GA</version>
  </dependency>
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>3.1.0.GA</version>
  </dependency>
  ...
  <!--any other hibernate deps not inherited transitively-->

Чтобы упростить вашу жизнь, вы можете определить все эти спящие зависимости в проекте, называемом (hibernate-all), а затем ссылаться на этот единственный проект для всех ваших проектов, использующих спящий режим (конечно, было бы неплохо, если бы команда hibernte предоставила этот проект в любом случае).

Ответ 3

Это расстраивает, но новых версий просто нет, и они не были надолго. Ирония заключается в том, что артефакты Hibernate имеют довольно сложные взаимозависимости и хорошо документированные минимальные версии этих зависимостей, которые идеально представлялись бы как Maven POM. Вместо этого мы должны сами загружать бинарные файлы и пытаться их выражать локально.

Ответ 4

Вы можете использовать зависимость в своем pom.xml

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.2.6.ga</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.3.1.GA</version>
        </dependency>

Ответ 5

Этот вопрос устарел с давних пор: все выпуски Hibernate доступны в Maven central с тех пор.

Зайдите на сайт www.hibernate.org для получения последних координат Maven (не доверяйте своим предложениям IDE).

Ответ 6

в репозитории отсутствуют банки, возможно, именно поэтому последняя версия спящего режима не находится в основной репозитории

Ответ 7

новичок в этом и играя с ним. У меня нет полного решения. НО:

Казалось, что я смог разрешить несколько зависимостей, включив http://repository.jboss.com/maven3/ вместо maven 2.

для тех, кто остается проблематичным, можно в качестве последней соломы загружать отсутствующие файлы с сайта maven, например, просматривать:

http://repo1.maven.org/maven2/org/hibernate/hibernate-core/3.6.8.Final/

(да, я попытался установить этот и другие разумные пути как источник репозитория, но без успеха...)

чтобы установить эту банку в свою сборку maven, сделайте что-то вроде:

mvn install:install-file -Dfile=path/to/jar/hibernate-core-3.6.8.Final.jar -DgroupId=org.hibernate -DartifactId=hibernate-core -Dversion=3.6.8-Final -Dpackaging=jar

ссылка: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

Извините, просто понял, что некоторые из них излишни, но надеюсь, что кому-то это поможет, чтобы увидеть дополнительные возможные URL-адреса. - JB