构建工具
文章平均质量分 74
kyfxbl
这个作者很懒,什么都没留下…
展开
-
消除maven的编码字符集告警
警告信息:[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!解决办法:在pom.xml中,增加以下配置: UTF-8原创 2013-09-24 11:33:15 · 932 阅读 · 0 评论 -
一个学习grunt的好例子
先在官网gruntjs了解相关的基本概念,然后照这个例子step by step的做一遍,应该就懂了:grunt step by step转载 2013-10-20 15:20:23 · 1002 阅读 · 0 评论 -
grunt Configuration
总述Task configuration is specified in your Gruntfile via the grunt.initConfig method. This configuration will mostly be under task-named properties, but may contain any arbitrary data. As lon原创 2013-10-20 14:44:29 · 822 阅读 · 0 评论 -
grunt Getting Started
安装grunt-cli shellNote that installing grunt-cli does not install the Grunt task runner! The job of the Grunt CLI is simple: run the version of Grunt which has been installed next to a Gruntfile.原创 2013-10-20 13:43:43 · 879 阅读 · 0 评论 -
grunt Creating tasks
任务aliasIf a task list is specified, the new task will be an alias for one or more other tasks. Whenever this "alias task" is run, every specified tasks in taskList will be run, in the order sp原创 2013-10-20 18:45:53 · 1010 阅读 · 0 评论 -
npm install xxx --save-dev
今天用npm install grunt-cmd-transport --save-dev这个命令安装了seajs构建的grunt plugin,不知道--save-dev参数是什么意思,查了下资料,记录在此一般用npm安装grunt的plugin有2种方式,一种是先写在package.json的devDependencies里,然后直接执行npm install就可以了另一种方式原创 2013-10-20 19:17:17 · 4375 阅读 · 1 评论 -
遍历所有子目录,动态创建grunt transport任务
遍历文件夹,动态创建target,动态构建seajs项目的方法原创 2013-10-27 16:33:02 · 2539 阅读 · 1 评论 -
利用alias,简化grunt配置文件
使用alias参数简化Gruntfile和require,grunt构建和spm构建的关键区别原创 2013-10-25 20:41:26 · 2712 阅读 · 6 评论 -
seajs项目构建的总结
最近连续折腾了将近一个星期的seajs构建。。踩了不少坑,总结了一些经验,在这里贴一下require()参数的二义性用seajs做模块化开发,经常用到这个函数:require("module/path/file");或者require("./file");前者是顶级标识,后者是相对标识,总之都是传递给require()的参数,表示要加载别的模块这原创 2013-10-30 21:33:52 · 2065 阅读 · 1 评论 -
用grunt-cmd-xxx构建seajs项目,require css的一个坑
今天又踩了一个坑,解决了总结一下:有一段js代码require了css文件require("./css/checkout.css");然后做了以下配置:transport: { options: { paths: [sourceDir], parsers: {原创 2013-10-31 20:15:06 · 3109 阅读 · 0 评论 -
grunt-cmd-transport提取deps[]的BUG
详细描述了grunt-cmd-transport插件的一个BUG,以及规避的方法原创 2013-11-01 11:59:52 · 3237 阅读 · 1 评论 -
用grunt-cmd-xxx构建seajs项目时,使用alias引发的BUG
seajs提供了alias参数,用来简化require()参数比如:alias:{"utils":"framework/static/utils"}这样原本需要写:require("framework/static/utils");就只需要写:require("utils");确实有所简化,不过还是建议不要使用,因为会在构建时引来一些额外原创 2013-11-01 13:30:31 · 2696 阅读 · 3 评论 -
用grunt构建seajs项目的总结
用grunt-cmd-xxx构建seajs项目的心得总结,解决了无效HTTP请求,以及最终文件体积过大的问题原创 2013-11-12 15:08:10 · 3791 阅读 · 1 评论 -
用grunt构建seajs项目
step by step介绍了使用纯grunt构建seajs项目的步骤原创 2013-10-24 12:43:43 · 7608 阅读 · 10 评论 -
一种模块化开发的目录结构和部署tips
一种模块化开发的目录结构,和部署小技巧总结,欢迎讨论。。。原创 2013-11-13 23:59:16 · 1374 阅读 · 0 评论 -
npm常用命令
npm addusernpm publishnpm install xxx -gnpm install xxx --savenpm install xxx --save-dev原创 2014-08-14 17:07:26 · 1224 阅读 · 0 评论 -
学ant(2)——path
1、path是ant内置的一种datatype,作用是声明路径之类的东西,在官方的manual中也叫做Path-like Structures,一般是这样声明的 或者 或者 声明path的时候,可以用内嵌的元素,来指定若干个位置。元素常用的属性有2个,location可以声明一个路径,path可以声明多个路径原创 2013-09-24 11:00:50 · 848 阅读 · 0 评论 -
m2e插件的一个BUG
用m2e插件,在eclipse里编辑pom文件很方便,因为提供了拼写辅助的功能:只要按下alt+/,就能提示当前节点下,可以有哪些子节点不过今天发现了一个bug,比如我在下,紧跟着不换行,按alt+/,可以出现拼写提示如果自行换行之后再按,就不出现提示了原创 2013-09-24 11:07:46 · 784 阅读 · 0 评论 -
关于maven的一些知识整理
1、构件的路径坐标是构件的逻辑表示方式,而物理表示方式则是文件。构件所在的文件路径,是由GAV决定的比如log4j:log4j:1.2.15,所在的仓库路径是:%repository_path%/log4j/log4j/1.2.15/log4j-1.2.15.jar其中%repository_path%是跟仓库的实现有关,构件自身的命名规则是:groupId/artifactI原创 2013-09-24 11:11:48 · 858 阅读 · 0 评论 -
显式指定maven插件的版本号
maven构建行为不符合预期的一个非常常见的原因是:没有指定plugin的版本号显式指定plugin版本号可以有效地避免很多奇怪的异常现象同时我认为配置pom文件最困难的地方,也就是对plugin的配置原创 2013-09-24 11:22:40 · 2253 阅读 · 1 评论 -
maven的2个参数
一、指定pom文件路径mvn -f filePath如果不加-f参数,则是默认在当前目录下查找pom.xml文件。如果要改变这一默认行为,可以用-f参数当用hudson作为CI系统,并且工程是平行目录结构的时候很重要,因为hudson取完代码之后的目录结构是这样的:在当前目录下,找不到pom.xml,因此会报错,需要配置pom.xml的路径如上配置之后,实际的命令行如下原创 2013-09-24 11:13:10 · 1642 阅读 · 0 评论 -
解决maven工程无法获取远程仓库上的构件
工程结构:test-aggregatortest-parenttest-son其中test-aggregator是聚合工程,用于把所有子工程的构建过程串起来,并充当parent工程,定义公共的配置和变量。test-son依赖于test-parent现象:如果将所有工程都下载到本地,然后从task-aggregator里执行maven package,整体构建可以成功但是如果原创 2013-09-24 11:12:50 · 2845 阅读 · 0 评论 -
处理循环依赖
在多maven工程的项目里,如果工程间存在循环依赖,构建就会报错。本文介绍一下循环依赖要怎么处理1、什么是循环依赖如果工程A依赖工程B,工程B又依赖工程A,就会形成循环依赖。或者A依赖B,B依赖C,C依赖A,也是循环依赖总的来说,在画出工程依赖图之后,如果发现工程间的依赖连线形成了一个有向循环图,则说明有循环依赖的现象如果循环依赖发生在工程之间,则会影响构建,因为maven不知道应原创 2013-09-24 11:12:45 · 2163 阅读 · 1 评论 -
一个多maven项目聚合的实例
本文介绍一个多maven项目的实例demo,展示了聚合、继承、工程依赖、单元测试、多war聚合、cargo发布等场景一、工程介绍该项目由5个maven项目组成task-aggregator是父工程,同时承担聚合模块和父模块的作用,没有实际代码和资源文件task-common是基础工程,里面是公共的代码task-sla是某一个业务子模块,不包含web内容task-sla-web原创 2013-09-24 11:12:35 · 2064 阅读 · 7 评论 -
用overlays合并多个war
在一个大项目中拆分maven工程时,很有可能会把js、css、jsp等文件放在不同的工程里(根据业务模块划分)。因为如果都集中在一个maven webapp里,那么这个maven webapp会太大,而且在业务上也比较分散但是这些持有js、css、jsp的maven工程,如果packaging设置为jar是不合适的,因为外围要读取内部的这些文件就会很困难。在这种场景下,一个很自然的想法就是打成原创 2013-09-24 11:12:19 · 867 阅读 · 0 评论 -
用cargo插件部署war包,并支持debug
在eclipse里创建的web工程,可以简单地发布到eclipse管理的容器里,开发很方便不过对于多maven工程聚合的项目,就没有办法这样简单地“一键发布”了,为了达到同样的目的,可以使用cargo插件一、配置pluginGroup,以支持前缀调用首先cargo插件不是官方的,所以需要在settings.xml里配置pluginGroup org.codehaus.原创 2013-09-24 11:12:14 · 1400 阅读 · 0 评论 -
《maven实战》读书笔记(四)——聚合与继承
1、聚合的写法 pom abc def 以上的配置和一般的POM有2个区别,一个是packaging要声明为pom,第二个是多了的配置这里的abc和def都是子目录的目录名。也就是说,abc和def都是这个聚合项目的子目录,如果要平级的话,这里需要改成../abc和../de原创 2013-09-24 11:12:03 · 1051 阅读 · 0 评论 -
学ant(1)——property
最近接手一个比较复杂的项目,是由30多个工程组成的。以前一个项目只有1个工程,或者很少的几个工程,依赖IDE就可以完成项目的发布。这次就不可能了,决定趁这个机会,好好地学一下ant先介绍一下property1、property类似于变量,可以提供给build.xml中的其他元素使用元素可以跟很多种属性,比较常用的有:,相当于map中的key,该属性一般是必须的,相当于map中的va原创 2013-09-24 11:00:45 · 672 阅读 · 0 评论 -
关于svn和maven结合使用的讨论
目前项目组在开发一个项目,由多个子模块构成,构建工具是maven,版本控制工具是svn。本文想对如何结合使用maven和svn提出一点初步的想法一、只有svn的情况首先考虑没有maven的情况。这样的话,项目组每个开发人员,都需要在本地check out所有的源码。每次提交之前,需要先更新周边工程的代码。由于工程之间是依赖的,所以很可能需要把所有的代码都更新一遍。在项目依赖混乱的情况下原创 2013-09-24 11:13:00 · 751 阅读 · 0 评论 -
maven中的聚合与继承
maven中的聚合和继承是2个不同的概念,虽然经常在一个父模块里同时完成这2个功能一、聚合聚合的作用是把子项目的构建过程串到一起: ../project-moduleA ../project-moduleB 或者 project-moduleA project-moduleB 前者是对应平行结构的,后者是对应树形结构的在平行结构的原创 2013-09-24 11:12:55 · 794 阅读 · 0 评论 -
《maven实战》读书笔记(三)——仓库
1、maven的仓库只有2类,第一种是本地仓库,默认在%USER_HOME%/.m2/repository目录下;第二种是远程仓库,默认的是maven提供的中央仓库,另外还有很多中央仓库的镜像仓库,以及第三方仓库。一般来说,项目组会在自己的maven服务器上建私服2、私服的一个重要作用,是代替中央仓库来提供构件下载。maven项目需要在pom文件中设置私服的位置原创 2013-09-24 11:08:16 · 789 阅读 · 0 评论 -
《maven实战》读书笔记(二)——坐标与依赖
坐标是maven的核心概念之一,另外几个核心概念是依赖、仓库、生命周期、插件本文总结一下坐标和依赖的几个要点“坐标”是maven引入项目构建的概念,此前ant是没有这个概念的。maven将jar包、项目的构建成品等,都统一看做是“构件”,而坐标就是构件的唯一标识。通过坐标,maven就能找到任何一个构件,并且管理依赖关系坐标由以下元素组成:groupId、artifactId、vers原创 2013-09-24 11:33:25 · 1131 阅读 · 2 评论 -
用eclipse的m2eclipse插件,设置maven项目的依赖关系
在使用maven之前,对于把一个项目拆分为多个工程的情况,需要手工在build path中设置Projects在使用了maven之后,就不需要手工设置,只要在pom中设置了dependency,m2eclipse插件会自动设置为依赖工程,pom文件: ${project.groupId} task-common ${project.version}原创 2013-09-24 11:12:29 · 3725 阅读 · 0 评论 -
消除maven构建时的各种告警
告警1号:[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!解决方法: org.apache.maven.plugins maven-resources-plugin原创 2013-09-24 11:12:24 · 1198 阅读 · 0 评论 -
用nexus搭建maven私服
首先介绍一下背景,公司访问外网有限制,项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上环境是:nexus-2.1.1、maven-3.0.4、jdk-1.6.0_32一、用admin用户登陆nexusnexus的下载和安装都很简单,网上也有很多介绍,本文就不重复了。主要介绍一下原创 2013-09-24 11:12:09 · 896 阅读 · 0 评论 -
压缩静态文件,提高页面访问速度
网站上线,发现在移动环境下访问速度比较慢,于是做了一些优化的措施,其中一项是压缩了静态文件,原创 2014-09-27 18:03:59 · 1298 阅读 · 0 评论