记录今天吧Liferay项目从Ant切换到Maven的教训吧。
为了明天的Demo,我们吧所有原来用Ant构建的Liferay项目全部切换到了Maven,结果在把Maven构建的某个theme应用部署到Liferay服务器时始终看不到效果。我忙活了半个小时,才发现了原因,是因为_diffs下面的内容根本就没有复制到Theme根目录中。
因为我们以前都是用Ant来打包和部署的,而Liferay的Ant脚本会自动的把_diffs下面的所有资源都merge到外层(也就是theme应用根目录下)。我们当时以为_diffs 直接复制过去就可以了,也没有看最终artifact的结构。所以就出错了。
回到家,我仔细的看了Liferay Ant构建Theme项目的过程,原来_diffs目录是在执行create 的target时候创建的,并且它的作用仅仅是方便开发者去更改与框架不同的资源。所以切换到Maven,这个目录本身没任何作用,只有这个目录下的内容才有用。
创建:
<target name="create"> <if> <or> <not> <isset property="theme.name" /> </not> <not> <isset property="theme.display.name" /> </not> </or> <then> <echo message="This task must be called by create.bat." /> </then> <else> ... <copy todir="${theme.dir}"> <fileset dir="${project.dir}/tools/theme_tmpl" /> </copy> <mkdir dir="${theme.dir}/docroot/_diffs" /> <replace dir="${theme.dir}"> <replacefilter token="@theme.name@" value="${theme.name}" /> <replacefilter token="@theme.display.name@" value="${theme.display.name}" /> </replace> </else> </if> </target>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录
, maven
, ant
, diff
, themes
, 切换
, liferay
根目录
liferay theme、liferay theme 开发、liferay 7 theme开发、liferay theme js、liferay 7.0 theme,以便于您获取更多的相关知识。