【问题标题】:Eclipse Indigo and Maven : Unable to find src/main/java in dynamic web projectEclipse Indigo 和 Maven:无法在动态 Web 项目中找到 src/main/java
【发布时间】:2012-02-08 18:10:27
【问题描述】:

我一直在使用安装了 m2e 和 m2e-wtp 的 Eclipse indigo。

我通过选择 maven-archetype-webapp created a dynamic web project using m2e。现在的问题是,我在创建的结构中看不到 src/main/java、src/test/java 和 src/test/resources。这是该项目的快照。

我偶然发现了this link。我在文件系统上创建了所需的目录。现在的问题是理想情况下我应该在哪里为每个目录(src/main/java、src/test/java 和 src/test/resources)添加“源文件夹”?我应该将它们添加到“Java 资源”下还是其他地方?

谢谢

【问题讨论】:

    标签: servlets maven maven-3 m2eclipse eclipse-wtp


    【解决方案1】:

    这正是我们的做法。 src/main/java、src/test/java 和 src/test/resources java资源下->新建源文件夹

    如果你想通过 tomcat 从 eclipse 运行 web 应用程序,不要忘记将你的 src/main/java 路径和 maven 依赖项添加到项目的部署程序集中。

    编辑

    关于 Eclipse 部署:

    如果该项目已经像您一样被分面为动态 Web 项目,您需要在服务器视图中添加一个服务器(我们使用 Tomcat 7 并在服务器设置中引用本地 tomcat 副本)

    然后你将 web 项目添加到服务器(在服务器上添加/删除)

    在项目属性中,您需要将 src/main/resources 和 src/main/java 文件夹添加到部署程序集以及 maven 依赖项。

    我们还使用 src/main/webapp 文件夹,而不是自动创建的 webcontent 文件夹。这包含 Web 资源、WEB-INF 和视图,并将被添加到部署程序集并映射到根路径“/”

    现在您将在您的应用上运行安装,然后选择“在服务器上运行”

    【讨论】:

    • 你的意思是说是 src/main/java 的“源文件夹”,src/test/java 和 src/test/resources 会在“Java 资源”下,不是吗?我将在单独的 tomcat 实例上部署应用程序。但是,如果有人想在 Eclipse 本身的配置服务器中运行应用程序,如果您能详细说明,我将不胜感激。
    • 是的,我就是这个意思。我将在 eclipse 中添加一些关于部署的细节..
    • 感谢@Pete 的 Eclipse 部署步骤。令人惊讶的是,我遵循了前两个步骤,启动了 tomcat,但应用程序仍然像一个魅力一样工作。此外,没有为我创建 WebContent 文件夹。那么您能否详细说明一下为什么必须配置部署程序集?
    • 可能对你有用。不记得为什么我们更改了结构,但如果我的应用没有部署,我首先查看的是部署程序集
    【解决方案2】:
    • 在基于原型“maven-archetype-webapp”创建 Web 应用程序之后,完全可以在 Tomcat 上使用“运行方式”运行 wep 应用程序(通过示例)。您有权访问 jsp 页面 index.jsp。
    • 但是,如果您想像许多其他人一样创建一个 servlet,那么您就有问题了。项目的构建路径引用了“src/main/java”和“src/test/java”,但目录确实存在。我不知道他们为什么忘记创建目录(在原型中)......
    • 要纠正该问题,您“只需”创建缺少的目录(从资源管理器中),然后从 Eclipse 中右键单击项目名称,然后单击“Maven”,然后单击“更新项目”。如果您以这种方式创建目录,您将看到源目录(src/main/java 和 src/test/java 将再次出现)。
    • 然后在 src/main/java 中创建一个新的 servlet(通过示例)并再次部署应用程序。这次一切都会奏效。

    【讨论】: