为什么Java EJB应用程序没有为其libs预定义的相对路径?

时间:2012-06-27 10:26:10

标签: java ejb classpath appserver

我可以理解Java中的Desktop个应用程序没有jar(库)文件包含的pre-defined 相对路径。它已经有一个CLASS_PATH env var。

但我无法理解为什么EJB模块没有这样的功能...(Web App has!- throw WEB-INF/lib

1 个答案:

答案 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文件中的组件,包括应用程序客户端。   这些库可以引用与其捆绑的其他库   应用程序或使用任何技术单独安装   这里描述的。