我可以理解Java中的Desktop
个应用程序没有jar(库)文件包含的pre-defined
相对路径。它已经有一个CLASS_PATH env var。
但我无法理解为什么EJB模块没有这样的功能...(Web App has!- throw WEB-INF/lib
)
答案 0 :(得分:1)
以下是Java EE规范的两个摘录:
JAR格式文件(例如.jar文件,.war文件或.rar文件)可以 通过命名引用的.jar文件来引用.jar文件或目录 或引用JAR文件中的Class-Path头中的目录 清单文件。引用的.jar文件或目录使用a命名 相对于引用JAR文件的URL的URL。清单文件 在JAR文件中命名为META-INF / MANIFEST.MF。中的Class-Path条目 清单文件的格式为
Class-Path: list-of-jar-files-or-directories-separated-by-spaces
<。> .ear文件可能包含一个包含已打包库的目录 在JAR文件中。 .ear文件的library-directory元素 部署描述符包含此目录的名称。如果一个 未指定library-directory元素,或者.ear文件是否指定 不包含部署描述符,使用名为lib的目录。 可以使用空的library-directory元素来指定那里 没有库目录。此目录中的所有文件(但不是 必须为所有人提供扩展名为.jar的子目录 包装在EAR文件中的组件,包括应用程序客户端。 这些库可以引用与其捆绑的其他库 应用程序或使用任何技术单独安装 这里描述的。