フォーラム

ホーム » Liferay Portal » English » 3. Development

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
Kurt Xu
ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/02 7:46
答え

Kurt Xu

ランク: Junior Member

投稿: 55

参加年月日: 2013/02/02

最近の投稿

Hello all:
I'm so new to liferay, I'm studying liferay 6.1 by learning Liferay In Action, after I import sample portlet 'product-registration' and run command 'ant build-service' with out any issues I start liferay portal and saw below errors during deploying the new portlet:

15:30:56,306 ERROR [pool-2-thread-1][HotDeployImpl:191] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering plugins for product-registration-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering plugins for product-registration-portlet
at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:46)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDeploy(PluginPackageHotDeployListener.java:62)
at com.liferay.portal.deploy.hot.HotDeployImpl.doFireDeployEvent(HotDeployImpl.java:188)
at com.liferay.portal.deploy.hot.HotDeployImpl.fireDeployEvent(HotDeployImpl.java:96)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:27)
at com.liferay.portal.kernel.servlet.PluginContextListener.fireDeployEvent(PluginContextListener.java:151)
at com.liferay.portal.kernel.servlet.PluginContextListener.doPortalInit(PluginContextListener.java:141)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.flushInits(PortalLifecycleUtil.java:48)
at com.liferay.portal.servlet.MainServlet.initPlugins(MainServlet.java:858)
at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:366)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.liferay.portal.kernel.exception.SystemException: java.lang.ClassNotFoundException: com.inkwell.internet.portlets.prodreg.sb.model.impl.ProductModelImpl
at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.initServiceComponent(ServiceComponentLocalServiceImpl.java:172)
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 com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.security.pacl.PACLAdvice.invoke(PACLAdvice.java:51)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
at $Proxy90.initServiceComponent(Unknown Source)
at com.liferay.portal.service.ServiceComponentLocalServiceUtil.initServiceComponent(ServiceComponentLocalServiceUtil.java:284)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.initServiceComponent(PluginPackageHotDeployListener.java:233)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.doInvokeDeploy(PluginPackageHotDeployListener.java:123)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDeploy(PluginPackageHotDeployListener.java:59)
... 27 more
Caused by: java.lang.ClassNotFoundException: com.inkwell.internet.portlets.prodreg.sb.model.impl.ProductModelImpl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.upgradeModels(ServiceComponentLocalServiceImpl.java:392)
at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.doUpgradeDB(ServiceComponentLocalServiceImpl.java:292)
at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.upgradeDB(ServiceComponentLocalServiceImpl.java:199)
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 com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.security.pacl.PACLAdvice.invoke(PACLAdvice.java:51)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
at $Proxy90.upgradeDB(Unknown Source)
at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.initServiceComponent(ServiceComponentLocalServiceImpl.java:163)
... 50 more
2013-2-2 15:30:56 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext

I searched ProductModelImpl in the whole project, nowhere the class is used.
I have no idea what cause these errors. any ideas ? thank you, god bless you!
You can find the original sample code in the attachment downloaded from manning website.
添付ファイル: product-registration-portlet.zip (871.8k)
David Ilechukwu
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/02 16:39
答え

David Ilechukwu

ランク: Regular Member

投稿: 114

参加年月日: 2010/06/07

最近の投稿

Hi Kurt - it's kind of strange you should be getting those errors. Could you try the following (in that order)?
(1) Stop your appserver. Delete your war folder from Liferay/tomcat/webapps. Also delete tomcat/temp and tomcat/work
(2) run ant clean, then look for any code under the folders "model" and "service" - and delete them
(3) Run ant build-service again, thereafter run ant deploy
(4)If everything compiles - start your appserver up and try again.

Please let me know if this solves the problem.

Cheers
David H Nebinger
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/02 21:37
答え

David H Nebinger

ランク: Liferay Legend

投稿: 6476

参加年月日: 2006/09/01

最近の投稿

Kurt Xu:
Caused by: java.lang.ClassNotFoundException: com.inkwell.internet.portlets.prodreg.sb.model.impl.ProductModelImpl


I have no idea what you did, but the attached zip doesn't match this in any way, shape, or form. This package is not referenced anywhere in the code that I can see.
Kurt Xu
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/03 2:02
答え

Kurt Xu

ランク: Junior Member

投稿: 55

参加年月日: 2013/02/02

最近の投稿

Hello David: I did what you told but met the same errors unfortunately. And when I run ant deploy some compilation errors happened a few times, such as PRRegistrationLocalServiceUtil.getAllRegistrations(long) missing, I found product-registration-portlet\docroot\WEB-INF\service\com\inkwell\internet\productregistration\service\PRRegistrationLocalServiceUtil.java was missing that method which does exist in the downloaded sample code. So strange! But more strange thing is it is successful when I rerun ant deploy, but that method is still missing, when I start tomcat I see the same errors again. emoticon

You can see the erros from attached file. There is also portlet source I compiled. thanks
添付ファイル: 1.txt (8.2k), product-registration-portlet.zip (2,140.3k)
Kurt Xu
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/10 6:13
答え

Kurt Xu

ランク: Junior Member

投稿: 55

参加年月日: 2013/02/02

最近の投稿

UP
David Ilechukwu
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/02/28 4:14
答え

David Ilechukwu

ランク: Regular Member

投稿: 114

参加年月日: 2010/06/07

最近の投稿

Hi Kurt -
Have you been able to sort out the issues you were having?
Kurt Xu
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/03/24 2:46
答え

Kurt Xu

ランク: Junior Member

投稿: 55

参加年月日: 2013/02/02

最近の投稿

David Ilechukwu:
Hi Kurt -
Have you been able to sort out the issues you were having?


Hello David:
It turns out that the code only works under liferay 6.0.6, a incompatible issue. I have to say liferay is not good on the compatiblity aspect. You have to be very careful with the version to which the portlet is deployed.
David H Nebinger
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/03/24 6:46
答え

David H Nebinger

ランク: Liferay Legend

投稿: 6476

参加年月日: 2006/09/01

最近の投稿

Projects are not portable, although code mostly is. You have to use the sdk for the target runtime.
Hitoshi Ozawa
RE: ClassNotFoundException:com.inkwell.internet.portlets...ProductModelImpl
2013/03/24 7:03
答え

Hitoshi Ozawa

ランク: Liferay Legend

投稿: 7990

参加年月日: 2010/03/23

最近の投稿

It turns out that the code only works under liferay 6.0.6, a incompatible issue


Yes, we've been complaining about the version incompatibility problem for so long. You'll have to manually fix them but you'll have to remember some api's have changed.

"Liferay in Action" is written for 6.0.6 so you should be using Liferay 6.0.6.

Liferay now has an online documentation which is written for 6.1.0 and to use Liferay IDE instead of "ant" command. Should just skim through the book and go and practice using the online documentation.