我正在使用嵌入式Jetty + Wicket应用程序,我正在使用buildr。现在,Buildr不包括jar文件中的HTML文件(位于主源文件夹中,与我的* .java文件一起)。如何告诉buildr将它们包含在编译/包中?
感谢您的建议,我想我很接近。也许我应该问的问题是如何将.HTML文件放到target / classes /子目录中的正确位置?我已经确认,如果我可以在target / classes文件夹中获取.html文件,package(:jar)会将它们归档。我将开始研究它。
答案 0 :(得分:1)
感谢您的建议,我想我很接近。也许我应该问的问题是如何将.HTML文件放到target / classes /子目录中的正确位置?我已经确认,如果我可以在target / classes文件夹中获取.html文件,package(:jar)会将它们归档。我将开始研究它。
这听起来像你想要做的,然后,将java源路径视为资源路径。这是how我在一个项目中这样做,我已经转换为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
中,然后从那里将它们添加到包中。
答案 1 :(得分:0)
Buildr获取src / main / webapp文件夹中的内容以获取war文件内容。你需要将html文件保存在其中。
答案 2 :(得分:0)
这取决于他们需要在WAR中的位置,但通常你可以这样做:
package(:war).include(_(:source, :main, :java, "**/*.html"))
:war
包是:jar
包的特化,它是:zip
包的特化,因此您可以使用documented methods中的任意一个:jar
包也可以在:zip
上使用1}}或:war
。