GWT:我在哪里放置可以包含在我的.gwt.xml文件中的外部资源?

我正在使用GWT 2.4。我想在我的主要GWT模块页面中包含一些Javascript和CSS文件。但是我很难把它们装上。在我的.gwt.xml文件中

<!--  Scripts -->
<script src="js/tabber.js"/>
<script src="js/sortable.js"/>

<!--  Stylesheets -->


“js”和“css”文件夹位于我的“war”目录中,但显然这不是放置它们的正确位置。他们应该去哪里?目录(相对于我项目的根目录)是

gwt-unitCache
src
test
test-classes
war
1
如果您对JSNI有疑问,请单独询问 - 这个问题是关于通过 gwt.xml 文件加载脚本。
额外 作者 Jason Terk,

1 答案

据我记忆,这些路径是相对于.gwt.xml文件的位置 - 你试过把它们放在那里吗? (即紧邻该特定模块的java包)

Update:

"The default public path is the public subdirectory underneath where the Module xml File is stored." - http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideModules

3
额外
遗憾的是,将“js”和“css”文件夹放在与我的.gwt.xml文件相同的文件夹中不起作用。我的.gwt.xml文件位于src/com/myco/clearing/productplus文件夹中。谷歌一直在谈论一个“公共”文件夹?我列出的路径是公开的吗?
额外 作者 Dave,
看我的编辑。将内容移动到公共文件夹允许我通过URL引用内容,但我的JSNI函数(包含在上面)没有找到函数。任何人都对JSNI有所了解吗?
额外 作者 Dave,
嘿杰森,这是绝对正确的。如果您创建答案,我会接受它。谢谢, -
额外 作者 Dave,
注意:路径是相对于您构建的模块( GWT.getModuleBaseURL()),但您也可以放置绝对URI引用(例如, Google Libraries API 或任何其他CDN)
额外 作者 Thomas Broyer,
您的GWT应用程序在页面上的iframe上下文中运行,因此 tabberAutomatic 函数对它不可见。使用隐式定义的 $ wnd 对象访问该函数: $ wnd.tabberAutomatic(tabberOptions)
额外 作者 Jason Terk,
如果您的项目是mavenized,您将需要将公共文件夹放在“src/main/resources/your/package/public”上,只需确保路径等于gwt.xml文件的路径。这适用于生产罐子并且打算由另一个项目使用的maven模块。
额外 作者 cirovladimir,
@Dave:只需在“src/com/myco/clearing/productplus”中创建一个名为“public”的文件夹,然后将你的js和css放在那里。这样,js和css文件夹将被复制到编译的GWT javascript所在的位置。我不太确定细节(已经有一段时间了),但你应该能够在这里找到详细信息: code.google.com/webtoolkit/doc/latest/…
额外 作者 Flo,