【问题标题】:Does the Google-Eclipse plugin autogenerate war directory contents?Google-Eclipse 插件会自动生成战争目录内容吗?
【发布时间】:2013-01-29 12:15:27
【问题描述】:

我刚刚使用 Google-Eclipse 插件创建了我的第一个 Web 应用程序项目。在其他工件中,它自动生成了一个 war/ 目录,其中包含多个子目录和许多文件,包括:

war/
    WEB-INF/
        lib/
            <Lots of JARs here>
        web.xml
        appengine-web.xml
        etc.

现在我已经清除了这个 war/ 目录的某些部分(搞乱了构建脚本和其他 Google-Eclipse 插件功能 - 这只是一个用于习惯插件的测试/临时项目),他们在未来的某个时刻神奇地重新出现。

我想知道,因为我将其设置为 Web 应用程序项目(因此它由 Google-Eclipse 插件管理),因此该插件是否试图保留 war/ 的结构,因此,是否继续自动生成任何丢失的文件?

如果是这样,为什么?究竟(哪些文件/目录)它试图保留什么?我可以禁用它吗?

如果不是,那么我显然还有其他事情要做。在这种情况下,是否有其他人曾经使用 Google-Eclipse 插件或一般的 Eclipse 体验过这种情况?提前致谢。

【问题讨论】:

    标签: java eclipse google-app-engine war google-eclipse-plugin


    【解决方案1】:

    此插件仅通过添加依赖项来更新 war/lib 目录。实际上,它只是在您切换到另一个版本的 Google App Engine SDK 时复制 jar 文件。

    【讨论】:

    • 感谢@Antonio (+1) - 我知道我没疯!有什么办法可以禁用它吗?我有一个外部 Ant/Ivy 构建文件,它从我的远程 Ivy 存储库中提取依赖项并将它们复制到 gen/lib/main。稍后在构建中,将 JAR 从 gen/lib/main 复制到 war/WEB-INF/lib,然后打包 WAR。在我从gen/lib/main 执行复制之前,我希望这个war/WEB-INF/lib 始终为空!
    • 你为什么不创建一个 ant 任务来从 gen/lib/main 中删除文件夹中的文件?
    • 我当然可以这样做,但感觉丑陋且不必要。该插件应该有一种方法可以禁用诸如“复制 jars”业务之类的自动化功能。
    【解决方案2】:

    这应该不是问题。

    War 文件夹是您稍后需要部署到 Google App Engine 的分解包。

    当您构建或部署文件到 GAE 时,此文件夹将被重新创建/更新,其中包含新编译的 jar 和必要的库。

    阅读this.

    【讨论】:

    • 感谢@Rudy (+1),我知道 WAR 是什么,并且了解 WAR 目录是一个展开的 WAR 目录。我只是问如何禁用此功能。
    • 恐怕不行 - 如果您使用的是 Eclipse 插件。
    【解决方案3】:

    War 文件夹包含部署到应用引擎的生成的 javascript 文件。

    【讨论】:

      猜你喜欢
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      相关资源
      最近更新 更多