使用maven在IntelliJ Idea 12 Ultimate项目中添加新的依赖项

时间:2013-03-12 23:07:25

标签: maven intellij-idea

在尝试使用IntelliJ Idea在hibernate项目中手动添加ehcache依赖项失败后,我决定使用maven并向项目添加了maven框架支持。现在我有一个现有的pom.xml文件,我想添加pom(及其依赖项)来自此位置(http://repo1.maven.org/maven2/org/hibernate/hibernate-ehcache/4.1.9.Final/)。 我怎么做? 我可以在项目中拥有多个pom.xml文件吗? 谢谢。

这是我正在使用的当前pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>HibernateProject1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.9.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>4.1.9.Final</version>
    </dependency>
    </dependencies>


</project>

现在我收到以下错误:

线程“main”中的异常org.hibernate.HibernateException:找不到/hibernate.cfg.xml

2 个答案:

答案 0 :(得分:4)

每个IDEA窗口只能打开一个IDEA项目。但Maven项目可以由multiple modules组成,每个项目都有自己的pom.xml。您还可以在同一个IDEA项目中导入多个Maven项目。

如果您有现有的Maven项目,只需使用pom.xml打开根File > Open,IDEA会询问您是否应该opened as a Maven project(假设您已在IDEA中启用了Maven插件)。当您对pom.xml进行更改时,IDEA会建议您重新导入项目,从而添加/删除库以使IDEA项目与Maven项目同步。

要向hibernate添加依赖项,请添加以下代码:

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

答案 1 :(得分:1)

您可以在一个IDEA窗口中拥有多个maven项目。

您总是可以从它的pom.xml文件中打开一个项目(如果它是一个多模块项目:所有子模块将自动包含在您的IDEA窗口中)。

当您打开maven项目(单个模块或多模块)时,您可以转到“Maven项目”选项卡(通常位于窗口右侧)。在此选项卡中,您可以单击“绿色+”按钮:“添加maven项目”,然后浏览到另一个pom.xml并选择它:在此另一个pom.xml中定义的所有模块将添加到你当前的IDEA窗口。