【问题标题】:How to add META-INF/context.xml in Warbler如何在 Warbler 中添加 META-INF/context.xml
【发布时间】:2011-07-17 06:12:39
【问题描述】:

如何将 META-INF/context.xml 添加到战争中?我在 config/warble.rb 中没有找到任何配置条目。

【问题讨论】:

    标签: warbler context.xml meta-inf


    【解决方案1】:

    您必须自己添加一个。您可以在项目中创建一个META-INF/context.xml 目录和文件,并将META-INF 添加到config/warble.rb 中的config.dirs,或者您可以添加一个“路径图”以将context.xml 文件重命名为META-INF 目录中的战争文件。

    config.pathmaps.application += ["%{context.xml,META-INF/context.xml}p"]
    

    【讨论】:

    • 上述方法无效。该文件实际上被复制到WEB-INF/META-INF/context.xml。我终于找到了一种将 context.xml 复制到 META-INF 的方法: 1. 在您的 rails 应用程序根文件夹下创建 META-INF/context.xml 2. 取消注释并更改 config/warble.rb 中的以下行 config.public_html = FileList["public/**/*", "doc/**/*", "META-INF/context.xml" ] 基本把 META-INF 当作 public_html,会复制到 webapps/youapp/META-信息。
    【解决方案2】:

    很遗憾,尼克的方法不起作用。该文件实际上是复制到WEB-INF/META-INF/context.xml。

    我终于找到了一种将 context.xml 复制到 META-INF 的方法:

    1. 在 Rails 应用根文件夹下创建 META-INF/context.xml
    2. 取消注释并更改 config/warble.rb 中的以下行

      config.public_html = FileList["public/**/*", "doc/**/*", "META-INF/context.xml" ]

    基本把META-INF当作public_html,会复制到webapps/youapp/META-INF。

    【讨论】:

    • FWIW,为了让它稍微简单一点,您可以添加到默认值:config.public_html += FileList["META-INF/context.xml"]
    • 您可以通过单击绿色对勾来接受您自己的答案。
    【解决方案3】:

    解决此问题的更好方法可能是在您的 warble.rb 文件中使用以下内容。

    config.script_files << 'path_to_file/context.xml'
    

    查看https://github.com/jruby/warbler/blob/master/lib/warbler/config.rb底部的文档

    # These file will be placed in the META-INF directory of the jar or war that warbler
    # produces. They are primarily used as launchers by the runnable feature.
    attr_accessor :script_files
    

    【讨论】:

      猜你喜欢
      • 2018-10-18
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多