0

組み込みの Jetty + Wicket アプリに取り組んでおり、buildr を使用しています。現在、Buildr は HTML ファイル (私の *.java ファイルと一緒にメイン ソース フォルダーにある) を jar に含めていません。buildr にそれらをコンパイル/パッケージ ステップに含めるように指示するにはどうすればよいですか?

提案をありがとう、私は近いと思います。おそらく、私が尋ねるべき質問は、.HTML ファイルを target/classes/ サブディレクトリの適切な場所に配置する方法です。target/classes フォルダー内の .html ファイルを取得できれば、package(:jar) でアーカイブされることを確認しました。私はそれを見始めるつもりです。

4

3 に答える 3

1

提案をありがとう、私は近いと思います。たぶん私が尋ねるべき質問は、.HTMLファイルをtarget / classes /サブディレクトリの正しい場所に配置する方法ですか?target / classesフォルダーに.htmlファイルを取得できる場合は、package(:jar)がそれらをアーカイブすることを確認しました。私はそれを見始めるつもりです。

あなたがやりたいことは、Javaソースパスをリソースパスとして扱うことのように聞こえます。すでにかなり大きくなった後でビルダーに変換したプロジェクトで、これを行う方法は次のとおりです。

# 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がそこに配置され、そこからパッケージに追加されます。

于 2011-04-17T13:51:20.953 に答える
0

Buildrは、warファイルの内容についてsrc / main/webappフォルダーの内容を取得します。その中にhtmlファイルを保持する必要があります。

于 2011-04-13T01:11:09.223 に答える
0

WAR のどこに行く必要があるかによって異なりますが、一般的には次のようなことができます。

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

:warパッケージはパッケージの特殊化であり、パッケージ:jarの特殊化であるため、ドキュメントに記載されているメソッドのいずれかをforまたはで:zip使用することもできます。:jar:zip:war

于 2011-04-13T01:46:51.183 に答える