【问题标题】:How can I share library classes in Java projects with Google Web Application projects in Eclipse?如何在 Eclipse 中与 Google Web 应用程序项目共享 Java 项目中的库类?
【发布时间】:2014-02-02 12:48:13
【问题描述】:

如何在 Google Web 应用程序项目(即使用 Google Plugin for Eclipse 创建的项目)中使用“普通”Eclipse Java 项目中的 Java 类?如果我将纯项目添加到 Web 应用程序项目的构建路径中,这不会导致其类被复制到 war 文件中,因此事情仅在编译时有效(构建路径已设置),而不是在运行时(类保留在外部服务器上类路径的范围)。

我意识到这个问题可能不是特定于 Google Web 应用程序项目本身,而是指整个 Eclipse 内部 J2EE 项目之间的代码(库)共享。我正在将 Google Plugin for Eclipse 与 Eclipse Kepler 一起使用。那么问题可能是我没有使用标准版本的 Eclipse,而不是 Java EE Developers 的版本?

【问题讨论】:

标签: eclipse google-app-engine jakarta-ee servlets web-applications


【解决方案1】:

Google Web 应用程序结构遵循标准 J2EE WAR 结构。

您可以通过多种方式在 Google App Engine 项目中使用外部类:

  • 将源文件复制到src 目录下,它们应该都可以正常编译,并且在您本地运行和部署时可用。

  • 1234563 WEB-INF\lib 文件夹。
  • 如果您有 .class 文件,可以将它们放在 WEB-INF\classes 文件夹中,但我建议您最好将所有 .class 文件打包成 JAR 文件并按照上述步骤操作。

以上步骤应满足您的要求。请注意,App Engine 中不允许使用某些 JRE 类,因此您应该确保您计划在 Google App Engine Web 应用程序中使用的外部类不违反这一点。参考JRE White List

【讨论】:

  • 这一切都很好,但我希望 Eclipse 工具能为我做到这一点。毕竟,它知道构建路径设置中的所有依赖项。还是我错过了什么?
  • 我不认为 Eclipse 会将这些文件添加到 WEB-INF\lib 或任何其他部署目录中,因为它们已添加到构建路径中。您必须放置它们。
  • 我同时依靠链接的duplicate 问题中的information 这样做,但我仍然想知道为什么 Eclipse 不自动执行此操作。
猜你喜欢
  • 1970-01-01
  • 2011-05-28
  • 2010-10-07
  • 2010-09-25
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
相关资源
最近更新 更多