帮助使用Maven文物(help for use maven artifacts)

2019-09-28 15:32发布

我正在学习Maven和我需要一些帮助上手。 我使用m2eclipse插件(Maven的),我想产生像Struts 2的一个项目,Hibernate 3的,MySQL的。 现在我刚刚创建的原型一个简单的项目:Maven的原型- web应用

什么是我需要添加的依赖?

Answer 1:

现在我刚刚创建的原型一个简单的项目:Maven的原型 - web应用

我的建议是使用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和MySQL JDBC驱动程序。 由于经常有几种方法可以做到这一点:

  • 手动(通过添加<dependency>中的元素pom.xml
  • 使用m2eclipse的向导
    • 通过POM编辑器的依赖性选项卡
    • 您的项目通过右键单击 ,然后Maven的>添加依赖
  • 通过Eclipse快速修复选项

在添加依赖使用m2eclipse的博客帖子有一个屏幕铸展示其中的一些。

什么解决方案,你会选择,到了最后,你pom.xml至少应申报以下DEPS:

<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>


Answer 2:

你只需要找到支柱或任何依赖关系,并把它们放在你的POM。 下面是一些关于依赖关系:

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



Answer 3:

Maven中的原型被用来为特定类型的项目创建一个简单的结构。 基本上,它会创建pom.xml文件,使用Maven的惯例目录结构,和一些简单的文件。 一些原型将创建更复杂的结构,这取决于哪种类型的项目中,他们是相关的。

在你的情况下,MySQL和Hibernate在Maven的没有具体的信息,除了依赖。 所以,最好的办法是产生一个网状结构,最终使用Struts的Maven原型 (我从来没有使用过,所以我不能告诉如果这个原型的质量是好还是不好),然后添加足够的休眠/ MySQL驱动程序的依赖性。

您可以使用MvnRepository现场找到groupIdartifactIdversion特定的依赖。

你的关心,我建议org.hibernate:hibernate:3.xxmysql: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>


文章来源: help for use maven artifacts