1

目前我正在尝试学习一点关于 Maven 的知识并进入 IntelliJ IDEA。我建立了一个项目并使用 hibernate 和 mysql 创建了一个 jersey rest 后端。我使用 tomcat 作为 web 容器。一切正常,但有时我意识到我的 IntelliJ 项目设置中的某些设置已被删除。也许它与Maven有关......?

我遇到的两个问题:

  1. 有时我在 tomcat 配置中设置的应用程序上下文会消失。
  2. 我在项目设置中添加了文件夹 src/main/resources,因为我将 hibernate 配置保存到了这个文件夹中,所以 maven 在战争中部署它。我还添加了 src 文件夹,因为那里有我所有的 src 文件。但是在某些tomcat重新启动后,该目录也消失了,然后我的src文件夹中的所有文件都标有红色图标。

这是我的pom:

    <groupId>ExampleProject</groupId>
<artifactId>ExampleProject</artifactId>
<version>1.0</version>
<packaging>war</packaging>

<dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.9</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-grizzly2</artifactId>
        <version>1.9.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.9</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.18</version>
    </dependency>

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

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>

    <dependency>
        <groupId>ma.glasnost.orika</groupId>
        <artifactId>orika-core</artifactId>
        <version>1.4.0</version>
    </dependency>

</dependencies>

IntelliJ Tomcat 配置

项目设置/模块

有人可以帮我解释为什么会这样吗?

4

1 回答 1

3

Maven Web 应用程序中的“标准”布局是:

src/
  main/
    java/
    resources/
    webapp/
      WEB-INF/
  test/
    java/
    resources/

您的屏幕截图表明您的设置有些不同,这就是 IntelliJ 可能会感到困惑和行为奇怪的原因。我建议您使用预定义的原型创建 Maven 项目,然后将其导入 IntelliJ(使用File -> Open并选择 root pom.xml)。使用标准 Maven 布局我从来没有遇到过任何问题。此外,它遵循 Maven 对配置的约定,对于习惯于标准 Maven 项目的人来说,它会更容易理解。

于 2014-08-02T16:22:41.097 回答