我有一个通用的实体类ProductFilter
,它包含了JSONWS POST端点的输入参数。在构建服务之后,我应该把这个类放在模块api
或模块service
下面吗?
首先我把它放在service
下,然后在api
中的接口抱怨找不到ProductFilter
。
C:\Users\Zirui\projects\nongzi\code\nongzi-gradle2\modules\db\db-api\src\main\java\com\toptoken\core\service\ProductService.java:26: error: package com.toptoken.core.domain.page does not exist
import com.toptoken.core.domain.page.ProductFilter;
^
然后我把它放在api
下,但是service
的部署抛出了一个异常,即service
无法找到ProductFilter
,尽管service
依赖于api
。
2023-08-22 08:13:26.489错误[fileinstall-directory-watcher][DirectoryWatcher:1173]无法启动包:file:/C:/Users/Zirui/projects/web3/test/gradle-wsdd/softles/osgi/modules/com.toptoken.core.service-1.0.0.jar com.liferay.portal.kernel.log. LogSanitizer异常:org.osgi.framework.BundleException:无法解析模块:com.toptoken.core.service [1627]未解决的要求:Import-Package:com.toptoken.core.domain.page [Sanitized]
最后,我把ProductFilter
放在api
和service
下面,但是部署时出现了一个错误:
java.lang.LinkageError:加载程序约束冲突:loader org.eclipse.osgi.internal.loader. EquinoxClassLoader@5c03e79e(org.eclipse.osgi.internal.loader.EquinoxClassLoader的示例,com.liferay.shielded.container.internal.ShieldedContainerClassLoader的子级(@3fc9dfc 5 com.liferay.shielded.container.internal.ShieldedContainerClassLoader)希望加载类com. toptoken. core. domain. page. ProductFilter。org.eclipse.osgi.internal.loader. EquinoxClassLoader@38c9a210以前加载了具有相同名称的不同类(org.eclipse.osgi.internal.loader.EquinoxClassLoader的示例,com.liferay.shielded.container.internal. ShieldedContainerClassLoader@3fc9dfc5 com.liferay.shielded.container.internal.ShieldedContainerClassLoader的子级)。ProductFilter
应该放在哪个模块下,api
还是service
?
1条答案
按热度按时间zysjyyx41#
作为POST端点的请求体,我必须使用
HashMap<String, Object>
。没有更多的通用实体类。