Какие артефакты maven мне нужны для поддержки спящего режима и mysql? - PullRequest
1 голос
/ 17 июля 2010

У меня есть проект IDEA, использующий maven2.

Я хочу использовать hibernate + mysql, какие зависимости мне нужны?

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Прежде всего, я отделяю версии от артефактов:

<properties>
    <spring.version>3.0.3.RELEASE</spring.version>
    <hibernate.version>3.5.3-Final</hibernate.version>
    <mysql.version>5.1.13</mysql.version>
    <junit.version>4.7</junit.version>
</properties>

тогда я ссылаюсь на них так:

<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
        <!-- perhaps using scope = provided, as this will often
         be present on the app server -->
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <!-- or hibernate-entitymanager if you use jpa -->
        <version>${hibernate.version}</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>

</dependencies>

Таким образом, вы храните все версии в одном месте и можете легко их обновить, особенно если вы ссылаетесь, например, на множественные пружинные артефакты.

Кстати: это должны быть текущие версии, но вы всегда можете посмотреть текущие версии, используя MvnRepository.com

1 голос
/ 17 июля 2010

Вставка этих зависимостей в pom.xml после <depdendencies> должна работать:

<!-- MySQL database driver -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
</dependency>

<!-- Hibernate framework -->
<dependency>
    <groupId>hibernate</groupId>
    <artifactId>hibernate3</artifactId>
    <version>3.2.3.GA</version>
</dependency>


<!-- Hibernate library dependecy start -->
<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.1</version>
</dependency>

<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2</version>
</dependency>

<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1</version>
</dependency>
<!-- Hibernate library dependecy end -->

Бесстыдно клонировано из http://www.mkyong.com/hibernate/quick-start-maven-hibernate-mysql-example/ (с добавлением jta, как рекомендовано комментатором)

Вы можете настроить номера версий для зависимостей.

IntelliJ IDEA 9 может найти зависимости Maven на основе имени класса. Если вы начнете использовать класс, который недоступен в текущих зависимостях, вы можете заставить IntelliJ помочь найти его с помощью Alt-Enter.

Я использовал это с большим эффектом в реализации ловушки Subversion на основе Java, которую я строю на работе. Таким образом, я смог довольно легко получить зависимости SVNKit и Google Guice в свой проект.

MySQL в вашем случае может быть сложнее, поскольку при использовании Hibernate это скорее зависимость от времени выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...