我想问一下使用Liferay SDK进行开发的最佳实践.我已经下载了SDK,我已准备好Eclipse,它可以工作,我可以创建新的portlet并运行本地Liferay实例来测试它.
这是我的情况 - 我所拥有的所有源代码都在Eclipse工作区中,目前它只是我正在处理的portlet.
Liferay SDK我的工作区与工作区完全不同.我们说〜/ dev/liferay_sdk.Eclipse工作区位于〜/ workspace中.
在开始时,它没有像那样工作.Eclipse由于某种原因无法找到或使用Liferay SDK.当我将Eclipse/Liferay配置中的"项目验证"更改为"忽略""Liferay插件SDK无效"时,它开始工作没有问题.
例如,当需要构建WAR时,会发生下一个问题.在工作空间的portlet目录中存在"build.xml"文件.但是里面它指的是另一个xml文件,它应该位于一个目录中,而这个文件在相对位置引用更多东西,依此类推.
简而言之,它假设您在Liferay SDK中有portlet等.比如"〜/ dev/liferay_sdk/portlets".
我的问题是,我完全错了,或者你可以建议我最好的做法吗?
我不想混合SDK和代码,这对我来说听起来不对.
感谢帮助!
我认为,最佳实践仍然是当您的 portlet 项目位于 Liferay Plugins SDK 目录中时。例如,这样您就可以利用 Eclipse 的 Liferay IDE 插件的所有优势。因为据我了解,Liferay IDE 不允许您在其他位置拥有 portlet 项目。从 Liferay SDK 目录内将项目导入到 Eclipse 非常容易,这不是问题。
但当我尝试将 portlet 项目保存到 Git 存储库时,我也遇到了同样的问题。带有符号链接的可能解决方案并不能在每个系统上正常工作。因此,我稍微修改了 build.xml 文件,以便能够从任何目录运行 ant 任务。对于 portlet 来说是这样的:
<project name="your-portlet" basedir="." default="deploy">
<property file="build.properties" />
<property name="project.dir" value="${liferay.sdk.home}" />
<import file="${project.dir}/build-common-plugin.xml" />
</project>
Run Code Online (Sandbox Code Playgroud)
请注意,您应该在 build.properties 中定义属性“liferay.sdk.home”,并且它应该是 Liferay Plugins SDK 的路径。
至于其他类型的 Liferay 插件(主题、挂钩等),您应该导入另一个构建文件来构建该类型的插件。例如,对于主题,它将是:
<import file="${project.dir}/themes/build-common-theme.xml" />
Run Code Online (Sandbox Code Playgroud)
希望你能明白。:) 但在做类似的事情之前要三思而后行。
| 归档时间: |
|
| 查看次数: |
3223 次 |
| 最近记录: |