1

在我尝试使用 IntelliJ Idea 在休眠项目中手动添加 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>

现在我收到以下错误:

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

4

2 回答 2

4

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

pom.xml如果您有一个现有的 Maven 项目,只需使用打开根目录File > Open,IDEA 会询​​问您是否应该将其作为 Maven 项目打开(前提是您已在 IDEA 中启用了 Maven 插件)。当您对 a 进行更改时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>
于 2013-03-13T10:27:43.057 回答
1

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

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

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

于 2013-03-13T12:34:39.597 回答