Liferay表示将服务和Portlet保留在同一目录下,而Maven构建会引用服务目录中的service.xml。根据发布管理标准,我必须将service.jar保留在单独的存储库中,并将portlet保留在另一个存储库中。
我将pom.xml和service.xml复制到相同的根目录中,并且mvn compile为源文件生成类文件,但是Liferay服务编译失败,并出现NULLpointerException。 如何单独编译liferay服务生成器。我正在使用Liferay v6.2。
mvn clean install liferay:build-service
可以在https://github.com/get2arun/logs/blob/master/pom.xml上找到pom.xml
以下是错误:
[ERROR] Failed to execute goal com.liferay.maven.plugins:liferay-maven-plugin:6.2.10.15:build-service (default-cli) on project project-business-user-api: null: MojoExecutionException: NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.liferay.maven.plugins:liferay-maven-plugin:6.2.10.15:build-service (default-cli) on project project-business-user-api: null
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
答案 0 :(得分:1)
我设法按照以下步骤解决该错误。 我现在刚完成测试。 最后,我能够创建一个包含Liferay MVC Portlet和Liferay Service Builder的Liferay插件项目,并且在部署后成功创建了Foo_Foo表。
请在下面找到详细步骤:
我在IDE中创建了一个新项目:File-new-Liferay Plugin Project,maven,选择了我的Maven全局配置文件(settings.xml),插件类型= Portlet 请务必注意,我的settings.xml文件包含以下值:
(选择较高版本会导致找不到.jar错误)。
我正在使用Ubuntu 18.04 + Apache Maven 3.6.0 +刀片版本3.7.3.201906241529 我在以下位置共享了该项目: https://github.com/peterpetrekanics/Liferay_ServiceBuilder_Maven_6210CE
我希望这会有所帮助,
问候,
彼得