Vaadin 7:如何从自定义路径导入JS文件?

Vaadin 7:如何从自定义路径导入JS文件?,vaadin,vaadin7,Vaadin,Vaadin7,我正在使用Vaadin-7,但答案并不适合我 我正试图在myproject/WebContent/js/test.js下导入我的js文件。我在UI类中使用了@JavaScript,如下所示 @Theme("myTheme") @SuppressWarnings("serial") @Title("VaadinTest") @JavaScript("js/test.js") public class VaadinTest extends UI { @Override protected void

我正在使用Vaadin-7,但答案并不适合我

我正试图在
myproject/WebContent/js/test.js
下导入我的js文件。我在UI类中使用了
@JavaScript
,如下所示

@Theme("myTheme")
@SuppressWarnings("serial")
@Title("VaadinTest")
@JavaScript("js/test.js")
public class VaadinTest extends UI {

@Override
protected void init(VaadinRequest request) {
    final VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);
    setContent(layout);
}
}
但我得到了
“网络错误:404未找到-http://localhost:8080/myproject/APP/PUBLISHED/js/test.js“
我的firebug控制台中的错误日志

那么,如何从自定义目录导入js文件呢

PS:请不要强迫我手动创建APP/PUBLISHED/directory!谢谢


您可以使用
app://

@JavaScript({ "app://js/test.js" })
或使用:

@JavaScript({ "vaadin://js/test.js" })
在VAADIN文件夹内生成的url:

http://localhost:8080/myproject/VAADIN/js/test.js

您引用的文件必须能够被类加载器相对于您正在使用它的包访问。根据你的例子,假设你的
VaadinTest
包是
com.example.app
,你想以
js/test.js
的身份访问它,你必须把它放在
com/example/app/js/test.js
目录下的“根目录”中,以便类加载器找到它(例如,
src/main/java、groovy
或从配置中加载资源的位置).

你的意思是我需要将我的js文件放在
WebContent/VAADIN/
文件夹下吗?你能支持我关于使用
VAADIN://
的更多建议吗?是的,谢谢。在我将我的js文件移到VAADIN文件夹下后,一切正常。但我最初的帖子是导入自定义路径。