无法在 Liferay portlet 应用程序中创建服务构建器
Unable to create a service builder into a Liferay portlet app
我无法在我的 portlet 应用程序中创建适当的 service.xml 来使用服务生成器。
1) 首先,如果我尝试使用 Eclipse IDE:
- 右键单击项目
- liferay 服务建设者
插件项目 select 框为空,我无法单击完成。我收到 "Enter a project name" 通知。
2) 如果我尝试手动将 service.xml 文件创建到 WEB-INF/ 或 WEB-INF/src 中,内容如下:
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="com.aveo.openemm.servicebuilder">,
</service-builder>
该文件只是一个普通的 xml 文件,不作为服务生成器文件。
在 Eclipse 中打开它不提供 "overview" 模式,这将允许我按预期创建和管理我的实体。
该项目是使用 Maven 构建的(以防万一)。
在这个阶段我不知道如何前进。
感谢您的帮助。
使用 Liferay 6.2.1 和 Liferay maven 插件 6.2.10.9
如果您刚开始使用 Maven,那么我建议您使用
开始一个新项目
mvn archetype:generate -DarchetypeArtifactId=liferay-servicebuilder-archetype -DarchetypeGroupId=com.liferay.maven.archetypes -DarchetypeVersion=6.2.10.13 -DgroupId=com.example -DartifactId=Test -Dversion=1.00.000 -DpackageName=com.example -DinteractiveMode=false
用您的信息替换 com.example 和 "Test"。
您的 service.xml 应该位于您的 Test/Test-portlet/src/main/webapp/WEB-INF 文件夹中。它看起来像
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd">
<service-builder package-path="com.example.dao">
<namespace>example</namespace>
<entity name="Reservation" uuid="true" local-service="true" remote-service="false">
<!-- PK fields -->
<column name="reservationId" type="long" primary="true" id-type="increment" />
<!-- Audit fields -->
<column name="userId" type="long" />
<column name="companyId" type="long" />
<column name="groupId" type="long" />
<!-- Other fields -->
<column name="fileEntryId" type="long" />
<column name="serialId" type="long" />
<column name="reserveDate" type="Date" />
<column name="checkoutDate" type="Date" />
<column name="checkinDate" type="Date" />
<column name="indefinite" type="String"/>
<!-- Order -->
<order by="asc">
<order-column name="reservationId" />
</order>
<!-- Finder methods -->
<finder name="ReservationId" return-type="Reservation">
<finder-column name="reservationId" />
</finder>
<finder name="UserId" return-type="Collection">
<finder-column name="userId" />
</finder>
<finder name="FileEntryId" return-type="Collection">
<finder-column name="fileEntryId" />
</finder>
<finder name="UserFile" return-type="Collection">
<finder-column name="userId" />
<finder-column name="fileEntryId" />
</finder>
<finder name="FileSerial" return-type="Collection">
<finder-column name="fileEntryId" />
<finder-column name="serialId" />
</finder>
</entity>
</service-builder>
您还需要编辑 Test/pom.xml 并添加以下内容
<properties>
<liferay.maven.plugin.version>6.2.10.13</liferay.maven.plugin.version>
<liferay.version>6.2.1</liferay.version>
</properties>
它应该在结束项目标签之前。
然后在你的 Test/ 目录中使用命令行你会 运行
mvn liferay:build-service
您可以从以下内容中了解更多信息:http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/service-builder-liferay-portal-6-1-dev-guide-en .
我无法在我的 portlet 应用程序中创建适当的 service.xml 来使用服务生成器。
1) 首先,如果我尝试使用 Eclipse IDE: - 右键单击项目 - liferay 服务建设者 插件项目 select 框为空,我无法单击完成。我收到 "Enter a project name" 通知。
2) 如果我尝试手动将 service.xml 文件创建到 WEB-INF/ 或 WEB-INF/src 中,内容如下:
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="com.aveo.openemm.servicebuilder">,
</service-builder>
该文件只是一个普通的 xml 文件,不作为服务生成器文件。 在 Eclipse 中打开它不提供 "overview" 模式,这将允许我按预期创建和管理我的实体。
该项目是使用 Maven 构建的(以防万一)。
在这个阶段我不知道如何前进。 感谢您的帮助。
使用 Liferay 6.2.1 和 Liferay maven 插件 6.2.10.9
如果您刚开始使用 Maven,那么我建议您使用
开始一个新项目mvn archetype:generate -DarchetypeArtifactId=liferay-servicebuilder-archetype -DarchetypeGroupId=com.liferay.maven.archetypes -DarchetypeVersion=6.2.10.13 -DgroupId=com.example -DartifactId=Test -Dversion=1.00.000 -DpackageName=com.example -DinteractiveMode=false
用您的信息替换 com.example 和 "Test"。
您的 service.xml 应该位于您的 Test/Test-portlet/src/main/webapp/WEB-INF 文件夹中。它看起来像
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd">
<service-builder package-path="com.example.dao">
<namespace>example</namespace>
<entity name="Reservation" uuid="true" local-service="true" remote-service="false">
<!-- PK fields -->
<column name="reservationId" type="long" primary="true" id-type="increment" />
<!-- Audit fields -->
<column name="userId" type="long" />
<column name="companyId" type="long" />
<column name="groupId" type="long" />
<!-- Other fields -->
<column name="fileEntryId" type="long" />
<column name="serialId" type="long" />
<column name="reserveDate" type="Date" />
<column name="checkoutDate" type="Date" />
<column name="checkinDate" type="Date" />
<column name="indefinite" type="String"/>
<!-- Order -->
<order by="asc">
<order-column name="reservationId" />
</order>
<!-- Finder methods -->
<finder name="ReservationId" return-type="Reservation">
<finder-column name="reservationId" />
</finder>
<finder name="UserId" return-type="Collection">
<finder-column name="userId" />
</finder>
<finder name="FileEntryId" return-type="Collection">
<finder-column name="fileEntryId" />
</finder>
<finder name="UserFile" return-type="Collection">
<finder-column name="userId" />
<finder-column name="fileEntryId" />
</finder>
<finder name="FileSerial" return-type="Collection">
<finder-column name="fileEntryId" />
<finder-column name="serialId" />
</finder>
</entity>
</service-builder>
您还需要编辑 Test/pom.xml 并添加以下内容
<properties>
<liferay.maven.plugin.version>6.2.10.13</liferay.maven.plugin.version>
<liferay.version>6.2.1</liferay.version>
</properties>
它应该在结束项目标签之前。
然后在你的 Test/ 目录中使用命令行你会 运行
mvn liferay:build-service
您可以从以下内容中了解更多信息:http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/service-builder-liferay-portal-6-1-dev-guide-en .