留言板

Service Builder error in liferay 6.0.2

juju bou,修改在13 年前。

Service Builder error in liferay 6.0.2

Junior Member 帖子: 44 加入日期: 10-2-11 最近的帖子
Hello guys!
just got the liferay version 6.0.2 (i was previously on 6.0.1) and i tried to run a ServiceBuilder on a newly created portlet.

I created a new portlet from the portlet.zip found in the repositery.

Then i created a service.xml and i wrote into it :
<!--?xml version="1.0"?-->


<service-builder package-path="com.blabla.liferay.test">
	<namespace>Test</namespace>
	<entity name="Testentity">
		<!-- PK fields -->
		<column name="testid" type="long" primary="true" />
		<!-- Fields -->
		<column name="newId" type="long" />
		<column name="visible" type="boolean" />
	</entity>
</service-builder> 


When i run the ant task build-service, i have the following error :

     [java] Building Testentity
     [java] Writing docroot/WEB-INF/src/fr/ucly/liferay/test/service/persistence/TestentityPersistenceImpl.java
     [java] Method public java.lang.String com.liferay.portal.tools.servicebuilder.ServiceBuilder.getTypeGenericsName(com.thoughtworks.qdox.model.Type) threw an exception when invoked on com.liferay.portal.tools.servicebuilder.ServiceBuilder@677456bc
     [java] The problematic instruction:
     [java] ----------
     [java] ==&gt; ${serviceBuilder.getTypeGenericsName(method.returns)} [on line 30, column 32 in com/liferay/portal/tools/servicebuilder/dependencies/persistence.ftl]
     [java] ----------
     [java] Java backtrace for programmers:
     [java] ----------
     [java] freemarker.template.TemplateModelException: Method public java.lang.String com.liferay.portal.tools.servicebuilder.ServiceBuilder.getTypeGenericsName(com.thoughtworks.qdox.model.Type) threw an exception when invoked on com.liferay.portal.tools.servicebuilder.ServiceBuilder@677456bc
     [java] 	at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
     [java] 	at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
     [java] 	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
     [java] 	at freemarker.core.Expression.getStringValue(Expression.java:93)
     [java] 	at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
     [java] 	at freemarker.core.Environment.visit(Environment.java:210)
     [java] 	at freemarker.core.MixedContent.accept(MixedContent.java:92)
     [java] 	at freemarker.core.Environment.visit(Environment.java:210)
     [java] 	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
     [java] 	at freemarker.core.Environment.visit(Environment.java:210)
     [java] 	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
     [java] 	at freemarker.core.Environment.visit(Environment.java:417)
     [java] 	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
     [java] 	at freemarker.core.Environment.visit(Environment.java:210)
     [java] 	at freemarker.core.MixedContent.accept(MixedContent.java:92)
     [java] 	at freemarker.core.Environment.visit(Environment.java:210)
     [java] 	at freemarker.core.Environment.process(Environment.java:190)
     [java] 	at freemarker.template.Template.process(Template.java:237)
     [java] 	at com.liferay.portal.freemarker.FreeMarkerUtil.process(FreeMarkerUtil.java:51)
     [java] 	at com.liferay.portal.freemarker.FreeMarkerUtil.process(FreeMarkerUtil.java:41)
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder._processTemplate(ServiceBuilder.java:4396)
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder._createPersistence(ServiceBuilder.java:2579)
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:1005)
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:415)
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:172)
     [java] Caused by: java.lang.reflect.InvocationTargetException
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     [java] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java] 	at java.lang.reflect.Method.invoke(Method.java:597)
     [java] 	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:840)
     [java] 	at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
     [java] 	... 24 more
     [java] Caused by: java.lang.NoSuchMethodError: com.thoughtworks.qdox.model.Type.getActualTypeArguments()[Lcom/thoughtworks/qdox/model/Type;
     [java] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.getTypeGenericsName(ServiceBuilder.java:1432)
     [java] 	... 30 more
</init></init>


I already recompiled the LF 6.0.2 source files, but still the same error.

Has anyone tried to build a service in liferay 6.0.2?
Had anyone got this error before?

Thx
thumbnail
jelmer kuperus,修改在13 年前。

RE: Service Builder error in liferay 6.0.2

Liferay Legend 帖子: 1191 加入日期: 10-3-10 最近的帖子
I had this same problem. You are probably using the rc1 sdk with the rc2 release. Some build time dependencies changed between these two versions. Download the new sdk and copy it over the old
juju bou,修改在13 年前。

RE: Service Builder error in liferay 6.0.2

Junior Member 帖子: 44 加入日期: 10-2-11 最近的帖子
Thx, I just had to replace all libs in the sdk.
Fabio A Miranda,修改在13 年前。

RE: Service Builder error in liferay 6.0.2

New Member 帖子: 10 加入日期: 09-8-13 最近的帖子
Can you please specify what and where you did make the changes so we can solve this issue that is impacting a lot of developers ?

thanks!!!!
Fabio A Miranda,修改在13 年前。

RE: Service Builder error in liferay 6.0.2

New Member 帖子: 10 加入日期: 09-8-13 最近的帖子
for the records:

http://ranjansatya.wordpress.com/2010/09/22/portal-pack-3-0-4-service-builder-plugin-is-broken-with-liferay-6-0-5/

A special thank to SATYA for the time he took to workaround this important tool and provide liferay an alternative to eclipse...
Nagaraj Desingurajan,修改在13 年前。

RE: Service Builder error in liferay 6.0.2

Junior Member 帖子: 31 加入日期: 11-2-21 最近的帖子
Hi,

I tried to create a service by creating service.xml inside <my-portlet-project>/docroot/WEB-INF/
folder.

<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN"
"http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="com.sample.portlet.library">
<namespace>Library</namespace>
<entity name="Book" local-service="true" remote-service="true">
<!-- PK fields -->
<column name="bookId" type="long" primary="true" />
<!-- Group instance -->
<column name="groupId" type="long" />
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<!-- Other fields -->
<column name="title" type="String" />
</entity>
</service-builder>


then as per the Liferay 6 -Developer Guide, I tried to run,

> ant build-service

from my eclipse. And i get the following error,

[java] Caused by: java.lang.ClassNotFoundException: com.liferay.portal.tools.servicebuilder.ServiceBuilder
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[java] Could not find the main class: com.liferay.portal.tools.servicebuilder.ServiceBuilder. Program will exit.
[java] Exception in thread "main"

I understand that com.liferay.portal.tools.servicebuilder.ServiceBuilder class is not in my project classpath.

But the portal-service.jar inside liferay-portal-6.0.5\tomcat-6.0.26\lib\ext, does not have this class hierarchy(com.liferay.portal.tools.servicebuilder.ServiceBuilder)

Need Help

Thanks,
Nagaraj.