使用 Ant 构建 Liferay Theme的详细过程

记录今天吧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,以便于您获取更多的相关知识。

时间: 2024-12-29 12:28:20

使用 Ant 构建 Liferay Theme的详细过程的相关文章

Liferay theme上传logo的详细分析

结论: theme上传logo会做以下事情: (1)用UploadPortletRequest对象来处理页面的<input type=file> (2)对于上传的logo图片为空,则抛出异常. (3)对于上传的logo图片不为空,则先从数据库中找到当前layout,为logo定义logoId,并吧logoId添加到当前layout并存回数据库,然后根据布尔变量设定,来决定是否吧这个logo关联到hook,以及这个这个logo图片是否要持久化. 过程展示: 当在Liferay中的某个theme选

JavaScript 组件之旅(三):用 Ant 构建组件_javascript技巧

听起来是不是很惬意?Let's go! 我们出发啦- 这期,我们会使用 Ant 将上期编写.整理的代码文件按指定的先后顺序合并成单一的源文件,然后压缩这个文件.这是构建 JavaScript 项目的基本步骤.Ant 是 Apache 的一个顶级开源项目,网上对它的介绍和安装,已经有很多文章,这里就不再赘述了.在构建之前,我们先来看看已有的文件布局: smart-queue // 组件的根目录 +--- src // JavaScript源文件目录 +--- lang.js // 前文提到的"外部

在IBM Rational开发产品设置构建时JPA增强的过程

JPA 增强是修改实体类,添加监视它们之中的更改并持久保存这些更改的能力的过程.在使用 IBM WebSphere Application Server 所提供的 OpenJPA 时,此增强过程使用了一种称为字节码编织 (byte-code weaving) 的技术.通常,对于 WebSphere Application Server,JPA (Java Persistence API) 实体的增强是在初始化 Java EE 应用程序期间执行的. 尽管不需要使用构建时增强,但它确实提供了一定的优

使用Subversion、Hudson和Eclipse构建持续集成系统的过程

持续集成系统是指持续地编译.测试.检查和部署源代码的系统. Martin Fowler 对持续集成是这样定义的 : 持续集成是一种软件开发实践,团队开发成员经常集成它们的工作,通常每个成员每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译.发布.自动化测试)来验证,从而尽快地发现集成错误.这个过程可以大大减少集成的问题,从而让团队能够更快的开发内聚的软件. 持续集成有以下几个特点和要求: 有统一的源代码库. 开发人员基于同一个源代码库进行开发是进行持续集成的一个前提.为了让持续集成系统

Oracle 9i安装后,配置和启动企业管理器的详细过程

oracle|过程 很多初学者安装Oracle后,不懂得怎么配置企业管理器,进不去,由于这类问题看得多了,现在我把详细过程写下来: 1:开始->程序->oracle->Configuration and Migration Tools->Enterprise Manager Configuration Assistant 2:配置本地oracleManagementServer->下一步->创建一个新的资料档案库->下一步->在现有的数据库中创建->输

Liferay Theme的使用范例

我们可以开发Theme来让系统不使用默认的风格. 当我们用向导创建一个Theme项目并且编译之后,这个项目结构如下图所示: 其中docroot下面所有在_diffs目录外面的都是Liferay从默认的复制过来的资源文件.我们需要改动的都应该在_diffs目录下建平行的目录. 例子1,改动页面或者样式表: 对于改动页面和样式表,这个最简单,只要在_diffs目录下建立平行的目录并且覆盖你要改动的同名文件就可以,比如我们要在主题的顶部添加一行文字叫"Add the content here!&quo

典型的Liferay Server的启动过程

以下是一个典型的Liferay Server的启动过程: 01.May 29, 2012 3:09:32 AM org.apache.catalina.core.AprLifecycleListener init 02.INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.libra

grivdview的下拉刷-分享功能与GrivdView的下拉刷怎么做,详细过程和代码

问题描述 分享功能与GrivdView的下拉刷怎么做,详细过程和代码 分享功能yuGrivdView的下拉刷怎么做,详细过程和代码 解决方案 http://www.iteye.com/problems/69406 解决方案二: http://blog.csdn.net/cwcwj3069/article/details/41698417

visual studio-导出excel表 只能导出到服务器而本地缺没有,如何把excel导出到本地,详细过程 谢谢!

问题描述 导出excel表 只能导出到服务器而本地缺没有,如何把excel导出到本地,详细过程 谢谢! 用VS2013编写的.net程序,做好了一个导出按钮,需要的功能是把一个table表的内容导入到excel表中并按照一定的路径导出来,但是每次点击导出的时候总是导入到的是服务器的所属路径,本地路径却没有,如何做才能导出到本地路径呢?求大神指点. 解决方案 先导出到服务器上,然后再让客户端下载. 解决方案二: http://www.cnblogs.com/weixing/archive/2012