Как упаковать html-файлы в jar / war с помощью buildr? - PullRequest
0 голосов
/ 13 апреля 2011

Я работаю над встроенным приложением Jetty + Wicket и использую buildr.Прямо сейчас, Buildr не включает файлы HTML (которые находятся в основной исходной папке, наряду с моими файлами * .java) в jar.Как я могу сказать buildr включить их в шаг компиляции / пакета?

Спасибо за предложения, я думаю, что я близок.Может быть, вопрос, который я должен задать, заключается в том, как получить файлы .HTML в нужном месте в подкаталоге target / classes /?Я подтвердил, что если я могу получить файлы .html в папке target / classes, package (: jar) их архивирует.Я собираюсь начать смотреть на это.

Ответы [ 3 ]

1 голос
/ 17 апреля 2011

Спасибо за предложения, думаю, я рядом.Может быть, вопрос, который я должен задать, заключается в том, как получить файлы .HTML в нужном месте в подкаталоге target / classes /?Я подтвердил, что если я могу получить файлы .html в папке target / classes, package (: jar) их архивирует.Я собираюсь начать смотреть на это.

Похоже, что вы хотите сделать, то есть трактовать исходные пути Java как пути к ресурсам.Вот как я делаю это в проекте, который я конвертировал в buildr после того, как он уже стал довольно большим:

# Uses before_define to default all projects to including their resources from
# src/main/java instead of src/main/resources (& similar for test) if
# those source directories exist
module InlineResources
  include Buildr::Extension

  before_define do |p|
    [
      [p.resources, p._("src/main/java")],
      [p.test.resources, p._("src/test/java")]
    ].each do |res, path|
      if File.exist?(path)
        res.from(path).exclude("**/*.java")
      end
    end
  end
end

class Buildr::Project
  include InlineResources
end

Это поместит файлы * .html в target/resources и оттудабудет добавлен в пакет.

0 голосов
/ 13 апреля 2011

Это зависит от того, где в WAR они должны идти, но обычно вы можете сделать что-то вроде этого:

package(:war).include(_(:source, :main, :java, "**/*.html"))

Пакет :war является специализацией пакета :jar, которыйспециализация пакета :zip, поэтому вы можете использовать любой из документированных методов для :jar или :zip для :war тоже.

0 голосов
/ 13 апреля 2011

Buildr берет содержимое в папке src / main / webapp для содержимого файла war.Вы должны хранить html-файлы внутри этого.

...