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

我遇到的两个问题:


有时,我在tomcat配置中设置的应用程序上下文消失了。
我在项目设置中添加了文件夹src / main / resources,因为我将休眠配置保存到了该文件夹中,因此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>






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

最佳答案

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

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


屏幕截图表明您的设置有些不同,这就是为什么IntelliJ可能会令人困惑并且行为异常。我建议您使用predefined archetype创建Maven项目,然后将其导入IntelliJ(使用File -> Open并选择根pom.xml)。
使用标准Maven布局我从来没有任何问题。此外,它遵循Maven关于配置的约定,对于那些习惯了标准Maven项目的人来说,它更容易理解。

09-26 08:31