【问题标题】:How does Java EE application server find the classpath?Java EE 应用服务器如何找到类路径?
【发布时间】:2012-10-12 04:01:45
【问题描述】:

.classpath.project 文件是否由 Eclipse 创建,仅由 Eclipse 内部使用? JDK是否正在使用这些文件? Java EE 应用服务器如何查找类和路径?

在这两者之间,当我使用ant 创建ear,war 时,我将使用ant 选项来查找用于项目编译的库。

那么应用服务器是否使用.classpath进行编译?

【问题讨论】:

    标签: java eclipse classpath


    【解决方案1】:

    Java EE 应用服务器不需要我们在 Eclipse 中设置的类路径来运行 war(web 项目),因为在打包 war 时,我们将所有需要的 jar 填充到 war 文件的 lib 文件夹中。当应用服务器启动时,它会从 lib 文件夹中加载所有的 jar,而不需要任何类路径声明。

    此外,如果需要任何外部依赖项,大多数 Java EE 服务器都提供了定义外部 jar 依赖项的工具。

    是的,Eclipse 需要.project.settings 文件夹等来处理工作区的类路径和其他设置。

    【讨论】:

    • 感谢您的澄清。您的意思是说应用服务器会加载 WEB-INF/lib 文件夹下的所有文件?那么ejb,rar类文件呢。正如你提到的,外部jar文件是如何引用的?我记得,在我的一个项目中,jars存储在websphere文件夹中。对于运行独立应用程序,我们必须使用 java -classpath 对吗?
    • 对于独立应用程序,您可以查看此链接 -->stackoverflow.com/questions/8754948/… 或者如果您不使用 maven,请参考 stackoverflow.com/questions/564515/…
    【解决方案2】:

    是的,这些文件仅由 eclipse 内部使用。 What's in an Eclipse .classpath/.project file? 

    基本上,.project 文件存储项目设置,例如构建器和项目性质设置

    还有

    .classpath 文件定义了运行期间使用的类路径。

    Project .classpath 用于使用 Eclipse Java Compiler (ejc) 编译您的代码,因此文件信息被传递给 EJC。

    【讨论】:

      【解决方案3】:

      如果我们简单地说

      .classpath.project 是 eclipse 元数据文件,仅供 eclipse 使用。它们对其他应用程序的意义较小。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多