您的位置:首页 > Web前端

java.lang.IllegalArgumentException: com.bea.portlet.prefs.spi.DefaultPreferenceStore

2007-04-30 22:57 471 查看
在 Weblogic 上部署 Portal EAR  Project 时,在 Weblogic 控制台上出现如下的异常提示:

java.lang.IllegalArgumentException: com.bea.portlet.prefs.spi.DefaultPreferenceStore
        at com.bea.portlet.prefs.spi.ProviderFactory.createInstance(ProviderFactory.java:85)
        at com.bea.portlet.prefs.spi.ProviderFactory.setDefaultProviderClass(ProviderFactory.java:47)
        at com.bea.portlet.prefs.spi.IPreferenceStore$Factory.registerDefaultProvider(IPreferenceStore.java:128)
        at com.bea.netuix.servlets.manager.SingleFileServlet.reinitInternal(SingleFileServlet.java:135)
        at com.bea.netuix.servlets.manager.SingleFileServlet.initInternal(SingleFileServlet.java:86)
        Truncated. see log file for complete stacktrace
java.lang.ClassNotFoundException: com.bea.portlet.prefs.spi.DefaultPreferenceStore
        at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
        at java.lang.Class.forName(Ljava.lang.String;I)Ljava.lang.Class;(Unknown Source)
        at com.bea.portlet.prefs.spi.ProviderFactory.createInstance(ProviderFactory.java:78)
        at com.bea.portlet.prefs.spi.ProviderFactory.setDefaultProviderClass(ProviderFactory.java:47)
        at com.bea.portlet.prefs.spi.IPreferenceStore$Factory.registerDefaultProvider(IPreferenceStore.java:128)
        Truncated. see log file for complete stacktrace

这些异常并不影响 Portal 的正常运行。初看该异常就是 ClassNotFound,可是仔细检查以后发现并不是 Project 本身产生的异常,google 一下之后发现少的可怜的记录数,居然只有三条的样子。还好从 BEA 提供的 PDF 文档中搜索到了一些蛛丝马迹,说是在 WorkShop 编译 JPF 时自动产生了一些 url-template-config.xml 文件,用来达到类似 Struts Config 文件一样的目的(所以说 JPF 只是通过 Annotation 来产生 configure 信息的 Struts)。 具体的分析如下(以下部分E文来自 BEA 文档):

Secure Port (HTTPS) in Standalone Page Flows Does not Work
(SP2 Only)
Page Flows that are deployed standalone in a portal application cannot use a {url:securePort}
token defined in url-template-config.xml. In this context, a ‘standalone’ page flow means one that
is deployed in a portal project, is accessed directly, but is not aggregated in a portal page. The
{url:securePort} token works only when a page flow is aggregated in a portal page. A
standalone page flow in a portal cannot use: https://{url:domain}:{url:securePort}/{url:path}?{url:queryString} url:securePort
The work around for standalone page flows in portals is to hard code the ports in
url-template-config.xml, instead of using the token {url:securePort}.
Refer to http://e-docs.bea.com/workshop/docs81/relnotes/relnotes.html.

通过在 workspace 内搜索得到三个 beehive-url-template-config.xml,且三个文件都只是存在于 .metadata 文件夹内,都是在 workshop biuld 整个 workspace 时产生的文件。目前还没有得到足够信息以解决该问题,同时发现 workshop 比较难用,同事都说它糟蹋了 Eclipse(我没有怎么使用过它) 。因为我原来一直都在用 IDEA,感觉两者之间的差别还是蛮大的,感觉需要 BEA 在做上几年才能体会到 IDEA 对 Developer 的那份体贴和关心。

今天暂时把问题记下,以后在认真寻找问题的解决方案。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐