project.addCompileSourceRoot(sourceRoot);
默认情况下,maven只会将下面的目录纳入编译路径
/src/main/java /src/test/javaWell, 现在我们就有了这样的一个需求,我想再添加一个目录
/src/test/generate<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">理由是这个目录下的文件将不会作checkstyle以及pmd, 如何来实现呢?
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>add-source</id> <phase>generate-test-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>${basedir}/src/test/generated</source> </sources> </configuration> </execution> </executions> </plugin>
你可以在这里找到官方发布的plugin(hey jason, 我的jdee还没有放上去哦)
通过又一个活生生的例子我们可以看到,CoC的局限性了, 也就是你失去了控制
我想大部分程序员,之所以喜欢写代码是因为他们可以控制,而且是可以很方便的控制整个过程,如果做一个简单的事情都需要搞得这么麻烦的话,他的可爱程度就大大折扣了
最可怕的事情是,有了问题,你都需要等待, 你得求助别人
所以我把框架分为几类,1类是可以控制的, 2类是很难控制的, 可控制的又可分为1.1方便使用的,和1.2使用烦琐的
, maven无疑被我归为2类, 而如果说ant是属于1.2的话,那么我可以通过结合CoC以及简化操作流程,维护成本,来让他成为可控制,使用又方便的框架, 这无疑就是google.fant要实现的目标。 目前还在google开设了讨论组, 欢迎你来踩。 Kohsuke Kawaguchi也在他的这篇文章里提到了类似的问题,他说他在试ivy也是基于ant的一个dpendency管理框架, 我在fant之前就已经了解到了, 而且类似的项目已经有了很多,我之所以选择fant是因为,我不喜欢自己来定义出新的描述文件来, 所有的定义应该在ant范围之内, 也就说,我不想引入太多新的概念,新的语法,来增加学习的困难。