Search code examples
javaliferayliferay-6liferay-service-builder

Liferay ServiceBuilder giving Entities Building Error


I have 2 entities named Ward and Patient in service.xml

Ward

<entity name="Ward" local-service="true" remote-service="false">
    <!-- Primary key column -->
    <column name="wardId" type="long" primary="true" />
    <!-- Foreign key columns -->
    <column name="companyId" type="long" />
    <column name="groupId" type="long" />
    <column name="userId" type="long" />
    <!-- Other columns -->
    <column name="name" type="String" />
    <column name="address" type="String" />
    <column name="phoneNumber" type="String" />
    <!-- Sort order -->
    <order by="asc">
        <order-column name="name" />
    </order>
    <!-- Finder Methods -->
    <finder name="GroupId" return-type="Collection">
        <finder-column name="groupId" />
    </finder>
</entity>

Patient

<entity name="Patient" local-service="true" remote-service="false">
    <!-- Primary key column -->
    <column name="patientId" type="long" primary="true" />
    <!-- Foreign key columns -->
    <column name="companyId" type="long" />
    <column name="groupId" type="long" />
    <column name="userId" type="long" />
    <column name="wardId" type="long" />
    <!-- Other columns -->
    <column name="firstName" type="String" localized="true" />
    <column name="lastName" type="String" localized="true" />
    <column name="birthDate" type="Date" />
    <!-- Sort order -->
    <order by="asc">
        <order-column name="firstName" />
    </order>
    <!-- Finder Methods -->
    <finder name="GroupId" return-type="Collection">
        <finder-column name="groupId" />
    </finder>
    <finder name="Ward" return-type="Collection">
        <finder-column name="wardId" />
    </finder>
</entity>

When I am trying to build it using Eclipse it is giving me 2 errors

The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

The type java.util.Comparator cannot be resolved. It is indirectly referenced from required .class files

I have tried to turn off Build Automatically in Project Menu then Clean all the Project and again turn on the Build Automatically. But it doesn't work.


Solution

  • You might probably be using Java 8which is not supported by Liferay version 6. Use Java 6 or 7 and re run the service builder, then it should work fine. From Properties of your project in eclipse you can change the Java Compiler level. Have a look here.