помощь по использованию Maven артефактов - PullRequest
1 голос
/ 13 сентября 2010

Я изучаю Maven, и мне нужна небольшая помощь, чтобы начать. Я использую плагин m2eclipse (Maven) и хотел бы создать такой проект, как Struts 2, Hibernate 3, MySQL. Сейчас я просто создаю простой проект с архетипом: maven-archetype-webapp

Какие зависимости мне нужно добавить?

Ответы [ 3 ]

3 голосов
/ 13 сентября 2010

Пока я просто создаю простой проект с архетипом: maven-archetype-webapp

Я бы предложил использовать архетип struts2-archetype-blank вместо того, чтобы загрузить приложение Struts 2,Вы можете вызвать его из m2eclipse (через мастера) или из командной строки.Например, из командной строки:

mvn archetype:generate -B \
                       -DgroupId=tutorial \
                       -DartifactId=tutorial \
                       -DarchetypeGroupId=org.apache.struts \
                       -DarchetypeArtifactId=struts2-archetype-blank \
                       -DarchetypeVersion=2.2.1

, добавьте необходимые зависимости для Hibernate 3 и драйвера JDBC MySQL.Как часто, есть несколько способов сделать это:

  • вручную (путем добавления <dependency> элементов в pom.xml)
  • с использованием мастеров m2eclipse
    • через вкладку зависимостей редактора pom
    • через щелкните правой кнопкой мыши в вашем проекте, а затем Maven> Добавить зависимости
  • с помощью опций быстрого исправления Eclipse

Добавление зависимостей с использованием m2eclipse В блоге есть скриншот, демонстрирующий некоторые из них.

Какое бы решение вы ни выбралиВ конце концов, вы выберете pom.xml, по крайней мере, объявите следующие команды:

<project>
  <dependencies>
    ...
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.2.1</version>
    </dependency>
    ...
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>3.3.2.GA</version>
    </dependency>
    <dependency>
      <groupId>javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.9.0.GA</version>
    </dependency>
    ...
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.13</version>
    </dependency>
  </dependencies>

</project>

И если вы хотите использовать последнюю версию артефактов Hibernate, вам нужно будет добавить репозиторий JBossпод элементом repositories, поскольку они недоступны в центральном репозитории maven (извините за усложнение, но, как бы то ни было):

<project>
  <dependencies>
    ...
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>3.5.5-Final</version>
    </dependency>
    ...
  <dependencies>
  ...
  <repositories>
    <repository>
      <id>repository.jboss.org-public</id>
      <name>JBoss repository</name>
      <url>https://repository.jboss.org/nexus/content/groups/public</url>
    </repository>
  </repositories>
  ...
</project>
0 голосов
/ 13 сентября 2010

Архетип в Maven используется для создания простой структуры для определенного типа проектов.По сути, он создаст файл pom.xml, структуру каталогов с использованием соглашений Maven и несколько простых файлов.Некоторые архетипы будут создавать более сложные структуры, в зависимости от того, с каким типом проекта они связаны.

В вашем случае MySQL и Hibernate не имеют конкретной информации в Maven, кроме зависимостей.Поэтому лучше всего создать веб-структуру, используя в конечном итоге архетип Struts Maven (я никогда не использовал его, поэтому не могу сказать, хорошее ли качество этого архетипа), изатем добавьте соответствующие зависимости драйвера Hibernate / MySQL.

Вы можете использовать сайт MvnRepository , чтобы найти groupId, artifactId или version определенной зависимости.

Для вашего удобства я предлагаю библиотеки org.hibernate:hibernate:3.xx и mysql:mysql-connector-java (используйте область runtime для драйвера JDBC):

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.1.3</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.13</version>
    <scope>runtime</scope>
</dependency>
0 голосов
/ 13 сентября 2010

Вам просто нужно найти распорки или любые зависимости и поместить их в свой пом.Вот немного о зависимостях:

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

...