繁体   English   中英

“动态 Web 模块”方面究竟为 eclipse 项目添加了什么

[英]What exactly does "Dynamic Web Module" facet add to an eclipse project

除了我之外,世界上的每个人似乎都知道“动态 Web 模块”方面究竟为项目添加了什么。 Web 搜索揭示了如何从各种错误中恢复的响应,这些错误源于此方面版本中或多或少不需要的更改,但几乎没有任何关于该方面实际作用的信息。

所以我的问题是:

  1. “动态 Web 模块”方面究竟为我的 eclipse 项目添加了什么?
  2. 我为什么要让这种情况发生?
  3. 为什么我的同事使用 IntelliJ、Visual Studio Code 等——在这个概念似乎不存在的地方——没有问题?

请记住,我没有决定这些名称(当时我自己也抱怨它们)......这个术语可以追溯到早期的 J2EE 教程,比如https://docs.oracle.com/cd/E17802_01/ j2ee/j2ee/1.4/docs/tutorial-update2/doc/WebApp3.html The tutorial would explain that J2EE web modules are the web applications from the then Java Servlet specification. J2EE 喜欢包含其他规范,并为已经命名的事物使用自己的命名。 文档和工具经常效仿。

它还提到它们可以包含 static web 资源,实际上您可以运行 web 模块,这些模块仅包含 ZA3229259CEF56E555 资源。 So WTP has the concept of a static web module and a dynamic web module, as static web projects and dynamic web projects in Eclipse. Facet 将项目指定为两者之一,对于动态模块,它在运行时支持和需要 API 级别。

然后服务器适配器必须 state 哪个 API 版本他们提供的服务器类型可以支持。 然后,服务器工具和验证可以帮助您避免部署到不兼容的服务器,以及针对有效服务器进行构建。 您希望以与您希望针对预期 Java 运行时进行编译的方式相同的方式针对有效服务器进行构建。 例如,这是避免调用当时不存在的类和方法的最直接的方法。

还有一个模块核心特性被添加,它支持用于描述部署细节的 API。 Details like saying your Java class output folder contents go into WEB-INF/classes, that the jars you select go into WEB-INF/lib and that those static resources go into the application root, all to comply with the layout expected at runtime. API 是可插拔的,因此可以通过例如 Maven 集成来实现。

UI 中的术语可以更改,但这有其自身的痛点。 社区倾向于不更新多年来正确的旧视频和教程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM