Angular portlet抛出异常路径不以“/”字符开头

时间:2017-11-09 07:35:32

标签: liferay-7

在Liferay github上有一个使用Angular https://github.com/liferay/liferay-blade-samples/tree/master/gradle/apps/npm/angular-npm-portlet

的示例portlet

我使用maven命令mvn archetype:generate -Dfilter=liferay创建了自己的portlet 选择:12

然后我构建它并部署到tomcat并抛出异常: 07:29:02,097 ERROR [http-nio-8080-exec-2][ComboServlet:89] java.lang.IllegalArgumentException: Path samplePortlet@1.0.0.js does not start with a "/" character

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我猜您运行generate命令然后尝试执行mvn clean install。错误是一个神秘的错误,但是你可以得到它的一个例子是组合servlet无法在jar文件中找到依赖项。 npm功能还没有maven包装器。

你可以做两件事。

没有gradle:

  • mvn clean install
  • npm run build
  • 将js从构建文件夹复制到目标文件夹中。 cp -R build/resources/main/META-INF/resources/ target/classes/META-INF/resources/
  • mvn install(不要打扫!)

用gradle:

gradle build

几点评论:

  • 如果你想使用npm的东西我建议你去Liferay工作区,刀片工具和Gradle组合。它工作更顺畅。
  • 使用原型创建项目时,可能需要修复组件的ID。在JS代码中将包含一些带有artefact名称的东西 - 根,但JSP中的实际id可能只是名称空间。