【问题标题】:Unable to create a service builder into a Liferay portlet app无法在 Liferay portlet 应用程序中创建服务构建器
【发布时间】:2015-12-30 18:18:22
【问题描述】:

我没有设法在我的 portlet 应用程序中创建适当的 service.xml 以使用服务构建器。

1) 首先,如果我尝试使用 Eclipse IDE: - 右键单击​​项目 - liferay 服务构建器 插件项目选择框为空,我无法单击完成。我收到“输入项目名称”通知。

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 中打开它不提供“概览”模式,这将允许我按预期创建和管理我的实体。

该项目是使用 Maven 构建的(以防它有所作为)。

我不知道在这个阶段如何前进。 感谢您的帮助。

【问题讨论】:

    标签: java eclipse maven liferay-6


    【解决方案1】:

    使用 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 和“测试”。

    您的 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

    【讨论】:

    • 我个人在我的 Maven 项目中使用 Netbeans。
    • liferay 链接没有帮助。但是 mvn liferay:build-service 命令使我预先生成的文件正常工作。非常感谢您让我知道这件事:)
    猜你喜欢
    • 2013-03-13
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2020-05-10
    • 2015-10-20
    • 1970-01-01
    • 2017-07-22
    相关资源
    最近更新 更多