仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 457|回复: 11
打印 上一主题 下一主题

[学习教程] 发布一篇简述Gradle在年夜型Java项目上的使用

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:02:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!
在Java构建工具的天下里,先有了Ant,然后有了Maven。Maven的CoC[1]、依附办理和项目构建划定规矩重用性等特性,让Maven几近成为Java构建工具的现实尺度。但是,冗余的依附办理设置、庞大而且难以扩大的构建性命周期,都成为利用Maven的困扰。
Gradle作为新的构建工具,取得了2010Springy年夜奖,并进围了2011的Jax最好Java手艺创造奖。它是基于Groovy言语的构建工具,既坚持了Maven的长处,又经由过程利用Groovy界说的DSL[2],克制了Maven中利用XML繁杂和不天真等弱点。在EugeneDvorkin撰写的文章《最使人冲动的5个Java项目》中,他是如许先容Gradle的:
“工程主动化是软件项目乐成的需要前提,并且它应当完成起来复杂、易用、好玩。构建没有一模一样的办法,以是Gradle没有古板的强加办法于我们,只管你会以为查找和形貌办法很主要,但是Gradle关于怎样形貌有着十分好的撑持。我不以为工具可以挽救我们,可是Gradle能给你所必要的自在,你能够使用Gradle构建易形貌的、可保护的、简便的、高功能项目”。
在比来半年里,我在利用Gradle作为构建剧本的年夜型Java项目上事情,更深切体味到Gradle在项目构建过程当中是云云的复杂、易用。
1.多Module的项目
Hibernate项目卖力人SteveEbersole在Hibernate将构建剧本从Maven换成Gradle时,专门写了一篇文章《Gradle:why?》,文中提到Maven的一个弱点就是:Maven不撑持多module的构建。在Micro-Service[3]架构作风盛行的明天,在一个项目内里包括多个Module已成为一种趋向。Gradle自然撑持多module,而且供应了良多手腕来简化构建剧本。在Gradle中,一个模块就是它的一个子项目(subproject),以是,我利用父项目来形貌顶级项目,利用子项目来形貌顶级项面前目今面的模块。
1.1设置子项目
在多模块的项目中,Gradle遵守常规优于设置(ConventionOverConfiguration)准绳。
在父项目标根目次下寻觅settings.gradle文件,在该文件中设置想要包含到项目构建中的子项目。在构建的初始化阶段(Initialization),Gradle会依据settings.gradle文件来判别有哪些子项目被include到了构建中,并为每个子项目初始化一个Project对象,在构建剧本中经由过程project(‘:sub-project-name’)来援用子项目对应的Project对象。
一般,多模块项目标目次布局请求将子模块放在父项目标根目次下,可是假如有特别的目次布局,能够在settings.gradle文件中设置。
我地点的项目包含:
一个形貌中心营业的core模块
一个遗留的EnterpriseJavaBean(enterprise-beans)模块
两个供应分歧服务的Web项目(cis-war和admin-war)
一个经由过程schema天生jaxb对象的jaxb项目和一个用来用来打ear包的ear项目
一个用于寄存项目设置文件相干的config子目次。它不是子模块,以是config不该该被加到项目标构建中往。
它们都安排在根项目目次下。我们经由过程以下的settings.gradle来设置项目中的子项目:
  1. includecore,enterprise-beans,cis-war,admin-war,jaxb,ear
复制代码
我们将必要到场到项目构建中的子项目设置在settings.gradle文件中,而没有到场不必要的config子目次。
<p>
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
精灵巫婆 该用户已被删除
12#
发表于 2015-3-21 19:24:21 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
若天明 该用户已被删除
11#
发表于 2015-3-15 06:14:04 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
因胸联盟 该用户已被删除
10#
发表于 2015-3-7 13:04:21 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
活着的死人 该用户已被删除
9#
发表于 2015-2-24 19:50:12 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
若相依 该用户已被删除
8#
发表于 2015-2-8 07:10:30 | 只看该作者
是一种突破用户端机器环境和CPU
变相怪杰 该用户已被删除
7#
发表于 2015-2-2 21:42:50 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
6#
发表于 2015-1-31 15:47:10 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
分手快乐 该用户已被删除
5#
 楼主| 发表于 2015-1-29 07:05:09 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
爱飞 该用户已被删除
地板
发表于 2015-1-27 09:29:03 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
蒙在股里 该用户已被删除
板凳
发表于 2015-1-21 16:49:30 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
乐观 该用户已被删除
沙发
发表于 2015-1-20 12:53:49 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 17:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表