Tapestry5:尝试加载javascript文件

Tapestry5:尝试加载javascript文件,java,tapestry,Java,Tapestry,我陷入了一个非常奇怪的错误。 我有一个tapestry页面,我试图在其中导入一个javascript文件。之前,我正在导入extjs-version3.js文件(它工作得非常好),然后我想导入extjs-version4.js文件。因此,我从文件系统中删除了version3文件,将version4文件添加到文件系统中,并更改了tapestry页面的java代码以导入version4文件。但我总是得到错误,“版本3文件不存在” 在调试期间,我更改了页面的java代码,使其现在不导入任何文件 所以,

我陷入了一个非常奇怪的错误。 我有一个tapestry页面,我试图在其中导入一个javascript文件。之前,我正在导入extjs-version3.js文件(它工作得非常好),然后我想导入extjs-version4.js文件。因此,我从文件系统中删除了version3文件,将version4文件添加到文件系统中,并更改了tapestry页面的java代码以导入version4文件。但我总是得到错误,“版本3文件不存在”

在调试期间,我更改了页面的java代码,使其现在不导入任何文件

所以,现在我有一个页面没有导入任何javascript文件,我仍然得到错误,“version3文件不存在”

以下是确切的细节

导入javascript文件的MyPage.java。

@Import(
        library = {
            //"context:js/lib/extjs3/adapter/ext/ext-base-debug.js", 
            //"context:js/lib/extjs3/ext-all-debug-w-comments-v4.js",
            /*"context:js/lib/ext_compat_layer/ext3-compat.js",
            "context:js/lib/ext_compat_layer/ext3-core-compat.js",*/
            //"context:js/page/ActivitiesTab.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.grid.Search.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.IconMenu.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.Toast.js"
        }, 
        stylesheet = {
            /*"context:js/lib/extjs3/resources/css/ext-all.css", 
            "context:js/lib/extjs3/resources/css/xtheme-gray.css",
            "context:js/lib/extjs3/resources/css/theme-gray/core.css",*/
            //"context:js/lib/extjs3/resources/css/icons.css",
            //"context:js/lib/extjs3/resources/css/gridsearch.css"
        }
    )
An unexpected application exception has occurred.

    org.apache.tapestry5.ioc.internal.OperationException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    trace
            Constructing instance of page class net.semandex.salsa.tapestry.pages.ActivitiesTab

    java.lang.RuntimeException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    Hide uninteresting stack frames Stack trace
            org.apache.tapestry5.internal.services.AssetSourceImpl.getLocalizedAssetFromResource(AssetSourceImpl.java:135)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetInLocale(AssetSourceImpl.java:105)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:85)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:206)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:203)
            org.apache.tapestry5.func.LazyMappedValue.get(LazyMappedValue.java:31)
            org.apache.tapestry5.func.LazyFlow.first(LazyFlow.java:52)
            org.apache.tapestry5.func.AbstractFlow$1.next(AbstractFlow.java:68)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:47)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:40)
            org.apache.tapestry5.func.AbstractFlow.toList(AbstractFlow.java:205)
            org.apache.tapestry5.internal.transform.ImportWorker.convertPathsToAssets(ImportWorker.java:202)
            org.apache.tapestry5.internal.transform.ImportWorker.access$100(ImportWorker.java:40)
            org.apache.tapestry5.internal.transform.ImportWorker$4.advise(ImportWorker.java:190)
            org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
            net.semandex.salsa.tapestry.pages.ActivitiesTab.containingPageDidLoad(ActivitiesTab.java)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:120)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:977)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:829)
            org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:171)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:190)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
            org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
            org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
            org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
            org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
            org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
            org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
            org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
            org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
            org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
            org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
            org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
            net.semandex.salsa.tapestry.services.AppModule$1.service(AppModule.java:164)
            org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
            org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
            org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
            org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
            org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:50)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
            org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
            org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
            org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
            org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
            org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
            org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
            org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) 
我收到的错误堆栈跟踪。

@Import(
        library = {
            //"context:js/lib/extjs3/adapter/ext/ext-base-debug.js", 
            //"context:js/lib/extjs3/ext-all-debug-w-comments-v4.js",
            /*"context:js/lib/ext_compat_layer/ext3-compat.js",
            "context:js/lib/ext_compat_layer/ext3-core-compat.js",*/
            //"context:js/page/ActivitiesTab.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.grid.Search.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.IconMenu.js",
            //"context:js/lib/extjs3/ux/gridSearch/Ext.ux.Toast.js"
        }, 
        stylesheet = {
            /*"context:js/lib/extjs3/resources/css/ext-all.css", 
            "context:js/lib/extjs3/resources/css/xtheme-gray.css",
            "context:js/lib/extjs3/resources/css/theme-gray/core.css",*/
            //"context:js/lib/extjs3/resources/css/icons.css",
            //"context:js/lib/extjs3/resources/css/gridsearch.css"
        }
    )
An unexpected application exception has occurred.

    org.apache.tapestry5.ioc.internal.OperationException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    trace
            Constructing instance of page class net.semandex.salsa.tapestry.pages.ActivitiesTab

    java.lang.RuntimeException
    Unable to locate asset 'context:js/lib/extjs3/ext-all-debug-w-comments.js' (the file does not exist).

    Hide uninteresting stack frames Stack trace
            org.apache.tapestry5.internal.services.AssetSourceImpl.getLocalizedAssetFromResource(AssetSourceImpl.java:135)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetInLocale(AssetSourceImpl.java:105)
            org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:85)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:206)
            org.apache.tapestry5.internal.transform.ImportWorker$5.map(ImportWorker.java:203)
            org.apache.tapestry5.func.LazyMappedValue.get(LazyMappedValue.java:31)
            org.apache.tapestry5.func.LazyFlow.first(LazyFlow.java:52)
            org.apache.tapestry5.func.AbstractFlow$1.next(AbstractFlow.java:68)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:47)
            org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:40)
            org.apache.tapestry5.func.AbstractFlow.toList(AbstractFlow.java:205)
            org.apache.tapestry5.internal.transform.ImportWorker.convertPathsToAssets(ImportWorker.java:202)
            org.apache.tapestry5.internal.transform.ImportWorker.access$100(ImportWorker.java:40)
            org.apache.tapestry5.internal.transform.ImportWorker$4.advise(ImportWorker.java:190)
            org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
            net.semandex.salsa.tapestry.pages.ActivitiesTab.containingPageDidLoad(ActivitiesTab.java)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:120)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:977)
            org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:829)
            org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:171)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:190)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
            org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
            org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
            org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
            org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
            org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
            org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
            org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
            org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
            org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
            org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
            org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
            org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
            net.semandex.salsa.tapestry.services.AppModule$1.service(AppModule.java:164)
            org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
            org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
            org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
            org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
            org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:50)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
            org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
            org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
            org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272)
            org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
            org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
            org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
            org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928)
            org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147) 
tml文件非常简单,没有任何可疑之处,但如果需要,我可以发布代码

为什么tapestry试图加载一个不包含在任何页面中的js文件

更新:


事实上,不管我在@Import注解中写了什么,文件总是按照前面的代码导入的。所有页面都会发生这种情况。

这可能是由于模板中的某个组件无法加载资产,或者是由
MyPage
扩展的父模板造成的


根据stacktrace,页面
net.semandex.salsa.tapestry.pages.ActivitiesTab
是问题的原因<代码>我的页面可能会加载到某个地方。

现在解决。问题在于我的生产环境,而不是Tapestry。当我更改Java类文件时,Eclipse没有更新它们。因此,javascript文件是基于页面java文件中的前一段代码导入的

Eclipse报告了以下问题。 由于“无法删除“/someName/bin/”,项目未生成。请修复此问题,然后尝试刷新此项目并生成它,因为它可能不一致 我引用了这个,解决了我的问题


简单的刷新、清理/发布并不能解决我的问题。我不得不关闭Eclipse并重新启动PC。这修复了我的环境,现在Eclipse正在正确更新java类。

实际上,Activities选项卡是myPage,为简单起见,我在这里将其命名为myPage。加载“活动”选项卡页面本身时出现错误。请检查我对问题的更新,我在导入批注中所做的更改似乎没有在Tapestry中得到更新,它总是试图根据旧代码加载文件。@PratikPortel可能尝试重新启动应用程序,如果您还没有,某些更改不会自动加载。如果这不起作用,请尝试清理整个项目(删除所有构建文件),以确保它不使用任何旧文件。我已经尝试过这样做,但它无法解决问题。此外,我注意到自动重新加载类不起作用。事实上,问题出在我的环境中。未通过清理/发布解决此问题。请查看我的答案以了解详细信息+1.谢谢你的帮助。谢谢