为什么Java EJB应用程序没有';它的LIB没有预定义的相对路径吗?
我可以理解,Java中的桌面应用程序没有预定义的jar(库)文件路径。它已经有一个CLASS_PATH env var为什么Java EJB应用程序没有';它的LIB没有预定义的相对路径吗?,java,ejb,classpath,appserver,Java,Ejb,Classpath,Appserver,我可以理解,Java中的桌面应用程序没有预定义的jar(库)文件路径。它已经有一个CLASS_PATH env var 但是我不明白为什么EJB模块没有这样的功能。。。(Web应用程序有两个Web-INF/lib以下是Java EE规范的两个摘录: JAR格式文件(如.JAR文件、.war文件或.rar文件)可能 通过命名被引用的.jar文件来引用.jar文件或目录 或引用JAR文件的类路径头中的目录 清单文件。引用的.jar文件或目录使用 相对于引用JAR文件的URL的URL。清单文件 在JA
但是我不明白为什么EJB模块没有这样的功能。。。(
Web应用程序有两个Web-INF/lib以下是Java EE规范的两个摘录:
JAR格式文件(如.JAR文件、.war文件或.rar文件)可能
通过命名被引用的.jar文件来引用.jar文件或目录
或引用JAR文件的类路径头中的目录
清单文件。引用的.jar文件或目录使用
相对于引用JAR文件的URL的URL。清单文件
在JAR文件中名为META-INF/MANIFEST.MF。中的类路径项
清单文件的格式如下
.ear文件可能包含包含打包库的目录
在JAR文件中。.ear文件的库目录元素
部署描述符包含此目录的名称。如果
未指定库目录元素,或者.ear文件未指定
不包含部署描述符,使用名为lib的目录。
空库目录元素可用于指定
没有库目录。此目录中的所有文件(但不是
具有.jar扩展名的子目录)必须对所有
EAR文件中打包的组件,包括应用程序客户端。
这些库可以引用其他库,或者与
应用程序或单独安装,使用任何技术
本文中描述
因此,我知道默认情况下,web模块
和ear-app
分别具有web-INF/lib和lib
dir。但是,ejb模块
没有。ejb模块在其类路径中拥有ear的lib目录中的每个jar。这些由所有其他EJB模块和web模块共享。如果您只想在一个ejb模块的类路径中放置一个库jar,请使用ejb模块jar的类路径清单来指定此依赖关系。但我认为,如果你把你的答案总结为答案的第一行,然后是摘录和表格规格,会更有帮助。
Class-Path: list-of-jar-files-or-directories-separated-by-spaces