Liferay ServiceBuilder 给出实体构建错误
Liferay ServiceBuilder giving Entities Building Error
我在 service.xml
中有 2 个名为 Ward 和 Patient 的实体
病房
<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>
患者
<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>
当我尝试使用 Eclipse 构建它时,出现了 2 个错误
无法解析类型 java.util.Map$Entry。它是从必需的 .class 文件
中间接引用的
无法解析类型 java.util.Comparator。它是从必需的 .class 文件
中间接引用的
我尝试在项目菜单中关闭自动构建,然后清理所有项目并再次打开自动构建。但是没用。
可能与 Eclipse 中的 JRE/JDK 配置有关。检查 JDK 是否已设置并添加到项目设置中。
我认为这是由于选择了 JDK 版本和合规级别。如果您使用的是 Eclipse,请检查项目属性中的 "Java Compiler" 部分。
您可能正在使用 Java 8
Liferay version 6
不支持的 Java 8
。使用 Java 6 or 7
并重新 运行 服务构建器,那么它应该可以正常工作。从您在 eclipse 中的项目的 Properties
,您可以更改 Java Compiler
级别。看看here.
我在 service.xml
中有 2 个名为 Ward 和 Patient 的实体病房
<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>
患者
<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>
当我尝试使用 Eclipse 构建它时,出现了 2 个错误
无法解析类型 java.util.Map$Entry。它是从必需的 .class 文件
中间接引用的无法解析类型 java.util.Comparator。它是从必需的 .class 文件
中间接引用的我尝试在项目菜单中关闭自动构建,然后清理所有项目并再次打开自动构建。但是没用。
可能与 Eclipse 中的 JRE/JDK 配置有关。检查 JDK 是否已设置并添加到项目设置中。
我认为这是由于选择了 JDK 版本和合规级别。如果您使用的是 Eclipse,请检查项目属性中的 "Java Compiler" 部分。
您可能正在使用 Java 8
Liferay version 6
不支持的 Java 8
。使用 Java 6 or 7
并重新 运行 服务构建器,那么它应该可以正常工作。从您在 eclipse 中的项目的 Properties
,您可以更改 Java Compiler
级别。看看here.