部署大会和J2EE模块依赖在Eclipse之间的差异(Difference between Depl

2019-06-25 15:03发布

当使用的Eclipse 3.7靛蓝为Java EE开发,有一些所谓的部署大会 。 我能找到谷歌和理解,这类似于J2EE模块依赖关系在哪里,我们可以选择jar和肚里,并在EAR文件夹或在战争的情况下WEB-INF / lib中坐镇。 现在怀疑我是,

我有一个JavaProject 依赖 。 我已经通过CLASSPATH变量添加了所有相关的JAR。 现在, 依赖项目添加为依赖于我的Web项目TestWebProject。 Web项目的编制是正确的,但在运行时我得到一个错误,因为一些罐子没有被发现。 我能解决这个我包括依赖项目,这是一个独立的项目部署大会罐子。

现在的问题是,为什么我不得不修复中展开组件的罐子,因为,第一,它是一个独立的项目,第二是,如果我不会有这种展开组件,怎么会这样能解决吗?

Answer 1:

我能找到谷歌和理解,这是类似于J2EE模块依赖

它被称为“J2EE模块依赖关系”,直到与Eclipse 3.5。 该版本后,将其更名为“部署大会”。 但它在有效的Java EE Web项目的情况相同。


现在的问题是,为什么我不得不修复中展开组件的罐子,因为它是一个独立的项目

因为这样Eclipse将自动构建项目的JAR文件,并放在/WEB-INF/lib的Web项目的部署。 如果你不这样做,JAR web应用程序的运行过程中无法使用,但只有在编译时和Eclipse预计,已经构建并把它放在任何地方在运行时类路径,如服务器自身的/lib


如果我不会有这种展开组件,怎么会这样能解决吗?

手动生成/导出JAR和Web应用本身的下降/WEB-INF/lib或者服务器自己的/lib 。 “部署大会”配置却更容易和推荐的方式。

也可以看看:

  • 业务逻辑层- Servlet和JSP


Answer 2:

当组装WAR,Eclipse可以不只是看你的构建路径告诉依赖性无论是什么,应该在WAR的WEB-INF / lib目录中被捆绑或者,如果他们是你希望显示在您的服务器类路径的东西。 需要额外的元数据的情况下进行区分。

如果您在问题视图看,你会看到无数的警告,如下所示:

“类路径条目[某件事]将不得出口或发表......”

右键点击这些并选择“速战速决”。 您将看到可用的修复程序的对话框。 其中之一是要这样说:“马克相关的类路径条目发布/对出口的依赖......”。 使用该选项。

以上将轻微改变你的Java项目的.classpath文件标记的依赖列入大会。 您可以测试没有通过导出WAR文件并检查WEB-INF / lib文件夹中的内容运行。



Answer 3:

构建路径 - 把你的罐子直接在这里,这将是可用于代码运行时和编译时间。

展开组件 - 月食预计这一路径下的项目捆绑在一起,并部署在WEB-INF / lib文件夹中的.jar。 因此,它可用于编译时和运行时。 如果该项目没有在展开组件部署那么代码只可用于编译时,Eclipse将不会将其捆绑,并在运行时依赖的项目是不可用的代码。



文章来源: Difference between Deployment Assembly and J2EE Module Dependencies in Eclipse