留言板

Liferay 4.4.0 Sample: No such accessible method: addFormBeanConfig()

thumbnail
David Brown,修改在16 年前。

Liferay 4.4.0 Sample: No such accessible method: addFormBeanConfig()

New Member 帖子: 24 加入日期: 05-7-28 最近的帖子
I have been testing Liferay 4.4.0 before I convert my code from the ext environment to plugins.
I am using sample-struts-liferay-portlet-4.4.0.1.war as the base.
In order for the sample to compile after an ant clean I modified build-common-plugin.xml as follows:

<path id="full.classpath">
[indent]<path refid="plugin.classpath" />
<path refid="portal.classpath" />[/indent]</path>

<!-- //DWB change classpathref="plugin.classpath" to classpathref="full.classpath" -->
<javac
[indent]classpathref="full.classpath"
compiler="${javac.compiler}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
destdir="docroot/WEB-INF/classes"
nowarn="${javac.nowarn}"
srcdir="docroot/WEB-INF/src"[/indent]/>

This is very similar to portlets/build-common-portlet.xml for the ServiceBuilder.

When I do an ant clean and ant deploy everything works fine.

I added docroot/WEB-INF/service.xml and did an ant build-service which looks fine.
I then do an ant clean and ant deploy everything looks fine.

However, when the server picks up the new sample-struts-liferay-portlet-4.4.0.1.war and tries to deploy it I get the following message:

[indent]18:15:43,156 ERROR [Digester:1224] End event threw exception
java.lang.NoSuchMethodException: No such accessible method: addFormBeanConfig() on object: org.apache.struts.config.impl.ModuleConfigImpl[/indent]

I have not added any jars and only use those that came with Liferay.

Any help would be appreciated.

Here's the DEBUG info:

18:15:43,140 DEBUG [sax:1570] resolveEntity('-//Apache Software Foundation//DTD Struts Configuration 1.2//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd')
18:15:43,140 DEBUG [Digester:1611] Resolving to alternate DTD 'jar:file:/D:/Projects/cms/Liferay-4.4.0/ext/servers/tomcat/webapps/ROOT/WEB-INF/lib/struts.jar!/org/apache/struts/resources/struts-config_1_2.dtd'
18:15:43,140 DEBUG [sax:1410] startElement(,struts-config,struts-config)
18:15:43,140 DEBUG [Digester:1417] Pushing body text ''
18:15:43,140 DEBUG [Digester:1436] New match='struts-config'
18:15:43,140 DEBUG [Digester:1464] No rules found matching 'struts-config'.
18:15:43,140 DEBUG [sax:1287] ignorableWhitespace(
)
18:15:43,140 DEBUG [sax:1287] ignorableWhitespace(
)
18:15:43,140 DEBUG [sax:1410] startElement(,form-beans,form-beans)
18:15:43,140 DEBUG [Digester:1417] Pushing body text ''
18:15:43,140 DEBUG [Digester:1436] New match='struts-config/form-beans'
18:15:43,140 DEBUG [Digester:1451] Fire begin() for org.apache.struts.config.SetActionFormBeanClassRule@1b06322
18:15:43,140 DEBUG [sax:1287] ignorableWhitespace(
)
18:15:43,140 DEBUG [sax:1410] startElement(,form-bean,form-bean)
18:15:43,140 DEBUG [Digester:1417] Pushing body text ''
18:15:43,140 DEBUG [Digester:1436] New match='struts-config/form-beans/form-bean'
18:15:43,140 DEBUG [Digester:1451] Fire begin() for FactoryCreateRule[className=null, attributeName=null, creationFactory=org.apache.struts.config.ActionFormBeanFactory@13c7c35]
18:15:43,140 DEBUG [Digester:393] [FactoryCreateRule]{struts-config/form-beans/form-bean} New org.apache.struts.action.ActionFormBean
18:15:43,156 DEBUG [Digester:1451] Fire begin() for SetPropertiesRule[]
18:15:43,156 DEBUG [Digester:204] [SetPropertiesRule]{struts-config/form-beans/form-bean} Setting property 'name' to 'subscribeForm'
18:15:43,156 DEBUG [Digester:204] [SetPropertiesRule]{struts-config/form-beans/form-bean} Setting property 'type' to 'com.sample.strutsliferay.struts.form.SubscribeForm'
18:15:43,156 DEBUG [Digester:244] [SetPropertiesRule]{struts-config/form-beans/form-bean} Set org.apache.struts.action.ActionFormBean properties
18:15:43,156 DEBUG [Digester:1451] Fire begin() for SetNextRule[methodName=addFormBeanConfig, paramType=org.apache.struts.config.FormBeanConfig]
18:15:43,156 DEBUG [sax:1164] endElement(,form-bean,form-bean)
18:15:43,156 DEBUG [Digester:1167] match='struts-config/form-beans/form-bean'
18:15:43,156 DEBUG [Digester:1168] bodyText=''
18:15:43,156 DEBUG [Digester:1190] Fire body() for FactoryCreateRule[className=null, attributeName=null, creationFactory=org.apache.struts.config.ActionFormBeanFactory@13c7c35]
18:15:43,156 DEBUG [Digester:1190] Fire body() for SetPropertiesRule[]
18:15:43,156 DEBUG [Digester:1190] Fire body() for SetNextRule[methodName=addFormBeanConfig, paramType=org.apache.struts.config.FormBeanConfig]
18:15:43,156 DEBUG [Digester:1210] Popping body text ''
18:15:43,156 DEBUG [Digester:1220] Fire end() for SetNextRule[methodName=addFormBeanConfig, paramType=org.apache.struts.config.FormBeanConfig]
18:15:43,156 DEBUG [Digester:195] [SetNextRule]{struts-config/form-beans/form-bean} Call org.apache.struts.config.impl.ModuleConfigImpl.addFormBeanConfig(FormBeanConfig[name=subscribeForm,type=com.sample.strutsliferay.struts.form.SubscribeForm])
18:15:43,156 ERROR [Digester:1224] End event threw exception
java.lang.NoSuchMethodException: No such accessible method: addFormBeanConfig() on object: org.apache.struts.config.impl.ModuleConfigImpl
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:214)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:217)
at org.apache.commons.digester.Rule.end(Rule.java:253)
at org.apache.commons.digester.Digester.endElement(Digester.java:1222)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLNSDTDValidator.endNamespaceScope(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1745)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:738)
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:687)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at com.liferay.portal.struts.PortletActionServlet.init(PortletActionServlet.java:44)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
18:15:43,171 ERROR [ActionServlet:768] Parsing error processing resource path /WEB-INF/struts-config.xml
java.lang.NoSuchMethodException: No such accessible method: addFormBeanConfig() on object: org.apache.struts.config.impl.ModuleConfigImpl
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLNSDTDValidator.endNamespaceScope(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1745)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:738)
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:687)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at com.liferay.portal.struts.PortletActionServlet.init(PortletActionServlet.java:44)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
thumbnail
David Brown,修改在16 年前。

RE: Liferay 4.4.0 Sample: No such accessible method: addFormBeanConfig(

New Member 帖子: 24 加入日期: 05-7-28 最近的帖子
Update (success?):

I did a complete clean and build of everything - portal and ext. It's seems to have fixed the problem. I can only assume right now that the distribution was built with Java 1.5 and the fact that I am using Java 1.6u4 conflicts. Maybe reflection or a classloader issue?

Question - Is there a specific maximum version of Java that should be used?

Question - Any reason to not use Java 1.6u4?

Thanks.
Sarika Agarwal,修改在15 年前。

RE: Liferay 4.4.0 Sample: No such accessible method: addFormBeanConfig(

New Member 帖子: 9 加入日期: 09-4-14 最近的帖子
Did you find any solution for this problem yet?