【问题标题】:Where do I keep the relevant jars so that I am able to use them when I have deployed the application?我在哪里保存相关的 jar,以便在部署应用程序时能够使用它们?
【发布时间】:2012-07-29 13:17:58
【问题描述】:

在谷歌应用引擎上开发应用程序时如何使用外部库?假设我必须使用javax.mail 库。我在哪里保存 llibrary,以便在服务器上部署应用程序时,我可以使用相关的 jar?

【问题讨论】:

    标签: java google-app-engine jakarta-ee web-applications


    【解决方案1】:
    WEB-INF/lib
    

    这通常适用于 servlet,而不仅仅是 Google App Engine。您必须记住的一个警告是 Google App Engine 控制他们使用的 JDK 版本。这意味着如果您使用的库对 1.7 有任何依赖关系,或者依赖于 1.5 或 1.6 中已弃用的代码,那么它将无法工作。

    正如koma 指出的那样,有一个在 App Engine 上测试过的库列表。可以在这里找到:

    https://developers.google.com/appengine/docs/java/jrewhitelist

    由于您使用的库不在该列表中,因此您无法保证它可以在应用引擎上运行。你只需要试一试看看。

    【讨论】:

    • 但是 javax.mail 恰好是一个非常糟糕的例子,因为它没有被列入白名单:developers.google.com/appengine/docs/java/jrewhitelist
    • 好点。我已经有一段时间没有在应用引擎上做太多开发了,但是我不得不上传不止一个库,看看它是否适合我自己。无论如何,我已经更新了我的答案以解决您的评论。
    【解决方案2】:

    如果您使用的是 Maven,则可以考虑创建一个超级 jar(一个包含所有二进制文件和任何引用的 jar 的 jar)。

    对不起,我不能提供具体的说明,我没有直接用 Maven 做这个,而是通过 leiningen 做的。

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 2016-10-06
      • 1970-01-01
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2010-10-11
      相关资源
      最近更新 更多