idea中缺少了一个依赖 怎么idea 添加依赖包

idea中,project是工作空间,model是项目.一个project可以有多个model.一个空的project,其目录结构如下: 导入你想导入的项目,方法如下: 如果已经尝试使用Eclipse的配置导入不可行,就使用如下方法: 现在工程目录如下: 如果A.B两个项目直接有依赖关系,如A项目依赖B项目,B为Library module(可以在项目的Facet中设置B为Library module),并且B中含有第三方的jar包(都放在B项目的libs文件夹中),A项目也用到了这些jar包,
1.前言 虽说Intellij IDEA已经用了四个多月,里面大部分功能还是比较熟悉的,但是很多细节地方还是搞不清楚,这几天公司另一个小组也换成了Intellij IDEA,帮他们迁移项目的时候,因为是非maven项目,遇到了很多问题,自己又研究了一番,下面整理一下 2.项目配置(Project Structure) 2.1 Project project compliler output:配置的是项目中的默认编译输出总目录 里面英文也说明了,每个模块可以自己设置特殊的输出目录 所以这个基本上没
Apache Ivy 网站 : http://ant.apache.org/ivy/ Apache Ivy是一个优秀的管理(记录.跟踪.解析和报告)项目依赖的工具,可与Apache Ant紧密集成. 授权协议: Apache 开发语言: Java 操作系统: 跨平台
Eclipse添加maven依赖找不到maven库中的jar 开发中,经常需要添加第三方jar到maven库,添加jar的方法,这里不多介绍,网上很多,下面就以添加dana 的memcached客户端jar的例子来说明这次遇到的问题与解决的方法. 1. 安装第三方jar 进入cmd, F:\java_memcached-release_2.6.6&mvn install:install-file -Dfile=java_memcached-r elease_2.6.6.jar -DgroupId
在进行项目部署时,需要将maven项目所依赖的jar导出到指定目录,本文讲解如何导出项目依赖的jar包 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: ? 1 mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:co
安装配置Maven插件 下载apache-maven,配置Maven的环境变量M2_HOME=maven的路径,在Path的路径中添加maven的bin目录,windows为%M2_HOME%\bin,linux为$M2_HOME/bin,验证maven是否安装成功mvn -v 在plugins里启动maven的两个插件,并配置Maven home directory(override,点...选择maven的目录) 使用maven的方式创建项目 选择maven的webapp模板 配置项目名和组
解决办法:在m2eclipse提供的菜单里关闭项目的Maven依赖管理,然后再启动Maven的依赖管理!!! 检查:1)查看项目的.classpath文件,看其中是否包含有:这段配置. 2)在eclipse里看项目的build path的Libraries中有没有Maven Dependencies.
前言:您的应用程序是否拥有RESTful Web服务?你想确保这些服务是正常工作在一个广泛的容器--无论是重量轻和重的?你有没有觉得需要一个基础设施的设置,您可以使用它来测试你的服务对所有这些容器,而不必担心诸如部署描述符,等等. I 怎样使用Jersey Test Framework? 要简单的使用框架您也许需要以下几个步骤: 1.添加项目依赖的pom.xml内容 &dependency& &groupId&com.sun.jersey.test.framework&/gr
作者:shede333 主页:/shede333 版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][] 本人英语也不是太好,翻译质量不是太高,如有不妥之处,欢迎指点批评. 点此查看文章 英文原文 创建IOS静态库 如果你开发ios有一段时间了,你可能有许多想在你大部分项目里重用的类和工具函数. 重用代码最容易的方法就是复制/黏贴,但是,这在代码维护上很快就变成一个噩
方案1:mvn install:install-file到本地仓库 mvn install:install-file -Dfile=&path_to_your_jar_file& -DgroupId=&your_group_name& -DartifactId=&your_artifact_name& -Dversion=&snapshot& -Dpackaging=jar -DgeneratePom=true 例:mvn install:install-f
libGameNet模块Win&Android联调总结一 作者:Jack(JCracker) 邮箱: 作者很赖还是不想上传图片 需要图片和配置实例的来这里下载:下载 在正式开始项目前,需要对各个基础模块做出Demo,本文档记录的是在写通用网络模块时候,WIN平台和Android平台联调碰到的问题. 1. WIN平台 WIN平台调试起来非常方便 一般不会出现什么问题.但是因为首先做的是win平台.所以不需要自己手写配置文件(也就是这个问题,导致在移植到android
1. 开发流程 调研.评审.立项,最终形成调研文档和设计文档. 在产品代码trunk主干上开始进行开发.项目的开发需要符合编码规范,SVN上提交代码时的日志需要符合SVN日志规范. 项目开发完成后,需要做相关的测试,需要包含单元测试.流程测试.功能测试.质量测试.性能测试等.需要测试组进行的测试通过公司邮件或redmine提测. 通过redmine与测试组进行沟通,结合测试的反馈结果对代码进行修改. 测试通过后,提请上线申请. 上线申请被批准后,将项目的代码合并prod分支上,向运维组发送上线邮
今天自己重新部署一下intellij下的项目开发环境,顺便把maven管理项目jar包的方法梳理一下 (1)首先下载apache-maven-3.0.4版本的maven,我自己解压在D:\maven\apache-maven-3.0.4目录下,这里我要改一下默认的maven的仓库的路径,在D:\maven\apache-maven-3.0.4\conf下,修改setting.xml配置文件,49到54行注释掉,换成 &localRepository&D:/maven/repo&/loca
最近一直在做全后台管理的项目,之前一直是把后台写好的项目里面的model 和service 两个包在后台写完后,等开始做前台的项目时候,就把后台的model和service 拷贝过来,继续干,但是最近发现这样非常的消耗时间和影响效率,如是我就想到了用maven的相互依赖--把前后台公用的东西都抽离出来做一个独立的maven项目,然后用maven的项目依赖来进行开发--架构也搭建好了,但是在用intellij idea部署的时候,tomcat启动项目里面的resources文件总是部署不出去--上
----------------版本旧了,各位新手绕道吧--------------- 最近看了paul大神的黑客与画家.于是想学lisp.不过因为出身java.于是找了同为jvm系的clojure作为lisp旅程的第一步.无奈国内新手引导的资料实在是少之又少.而且不亲民都是各种抄袭转载.翻墙找了几篇英文的看着折腾了好几天.终于今天算是开发环境有头绪了.因此就把这个过程总结下来.一个是加强记忆.在一个就是如果其他朋友有兴趣.算是个分享. 首先先对我的环境进行说明.很多新手帖都不写版本.导致新手弄
在正常情况下,有时我们会把一个项目的SVN支持删除掉,让这个项目恢复正常状态,然后和另一个SVN库连接. 在eclipse中如果我们安装了SVN插件,那我们直接选中项目右击选择team==&断开连接,然后再选择从文件系统中删除SVN元信息,这样就可以删除这个项目的SVN支持了 但是在IntelliJ IDEA 中并没有这一选项,如图 这怎么办呢?好吧,我的解决方案就是不使用IntelliJ IDEA做这件事情,直接在本地手动删除或者使用tortoiseSVN删除. 如下图,直接删除.svn的文件
前言: 为什么我要选择intellij idea呢?原因有三 1.以前公司的项目 在myeclipse10中不稳定 myeclipse说不定什么时候就崩溃卡死了 而intellij很稳定 2.界面高端洋气 用我朋友的话说 看着跟搞苹果开发一样 3.项目的支持上比较好 基本上web项目都可以导入进来 比如mybatis的官方项目 是maven的 在myeclipse中就不能直接导入 intellij支持了 目前基本上所有的项目 尤其是maven项目 推荐一下黄勇的这篇&使用 IDEA + Mave
IntelliJ IDEA v13应用out-of-the-box支持众多企业级和开源的服务器,包括:GlassFish.WebLogic. JBoss EAP.Wildfly.WebSphere.Tomcat.TomEE.Jetty. Geronimo.Resin和Virgo. 在Settings丨Application Servers点击添加应用程序服务器,IntelliJ IDEA会自动检查版本,根据依赖关系来确定应该选择的资源库. 在web方面,IntelliJ IDEA通过项目结构模块
目前包括: Android开源项目第一篇--个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他 Android开源项目第二篇--工具库篇 包括依赖注入.图片缓存.网络相关.数据库ORM工具包.Android公共库
本人使用IntelliJ IDEA其实并不太久,用了这段时间以后,觉得的确很是好用.刚刚从Eclipse转过来的很多人开始可能不适应,我就把使用过程中的一些经验和常用功能分享下,当然在看这篇之前推荐你先看完IntelliJ IDEA 的 20 个代码自动完成的特性, 这篇文章对自动完成的特性介绍的非常好,只是快捷键说明部分还可以更完善一些,可以照顾下默认绑定键位不一致的童鞋.本文在说明快捷键的时候是根据Mac OSX 10.5+的默认keymap,当然也会提供相关的文字说明,如果和我的绑定不一致
目录(?)[-] Android开源项目分类汇总 第一部分 个性化控件View 一ListView 二ActionBar 三Menu 四ViewPager Gallery 五GridView 六ImageView 七ProgressBar 八TextView 九ScrollView 十TimeView 十一TipView 十二FlipView 十三ColorPickView 十四GraphView 十五UI Style 十六其他 第二部分 工具库 一依赖注入DI 二图片缓存 三网络相关 四数据库
intellij idea 不能保存项目,报错 错误信息:弹出提示框,控制台输出 Could not save project!: Unable to save project files. Please ensure project files are writable and you have permissions to modify them. Try to save project again. 错误理解: 没有权限 解决思路:通过https://youtrack.jetbrains.
这篇文章主要介绍了把项目从Python2.x移植到Python3.x的经验总结,包括作者所使用的Jinja2框架中一些需要注意的地方,需要的朋友可以参考下 经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容.我的做法是只用一个python2的代码库,然后在安装的时候用2to3工具翻译成python3.不幸的是哪怕一点点的改动都会打破迭代开发.如果你选对了python的版本,你可以专心做事,幸运的避免了这个问题. 来自MoinMoin项目的Thom
这篇文章主要全面剖析了Python的Django框架的部署技巧,包括Fabric等自动化部署和建立单元测试等方面,强烈推荐!需要的朋友可以参考下 项目开始时是一个关键时刻,选择会对项目产生长期的影响.有很多关于如何开始使用Django框架的教程,但很少讨论如何专业地使用Django,或如何使用行业公认的最佳做法来确保你的项目规模的持续增长.事前的筹划让你(和所有同事的生活)在走向将来时更容易. 文章结束时,你将有 一个全功能的Django 1.6项目 源代码受控的所有资源(使用Git或Mercu
以前我们可能使用NodeJS自己写一个build程序,但是现在Grunt.js能够提供我们需要的一切 Grunt.js是什么?Grunt.js是一个Javascript Task Runner(Javascript任务运行器),其基于NodeJS,可用于自动化构建.测试.生成文档的项目管理工具. Grunt.js并不是仅仅是构建工具,实际上他只是任务运行器,管理每个子任务的自动化运行,我们还能使用他做更多东西. 为什么使用Grunt.js?简单的说:为了自动化. 对于前端项目,例如: o为了明确
这篇文章主要介绍了使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目的方法,需要的朋友可以参考下 1.创建一个空白解决方案 2.添加一个类库 名称为XXX.Domain 3.添加一个ASP.MVC名称为XXX.WebUI 4.选着空模版,勾选MVC核心引用 5.添加单元测试项目XXX.UntiTests 6.在程序包控制台里面输入以下代码 Install-Package Ninject -version 3.0.1.10 -projectname Toad.We
将tiles2.2.2 去除了slf4j 的依赖,添加了common-logging支持,并将tiles-api,tiles-core,tiles-servlet,tiles- jsp,tiles-template打包成一个jar,总大小是300多K,这样在项目时引用就方便多了,只需要一个jar. 暂时还不知道tiles-el及其他包的作用,以后有时间研究下源码再重新打一次包 先把这个包发上来,simpletiles.jar, 添加后依赖serlvet环境和common-logging.jar
本文的读者需要拥有一些Maven基础知识和实践,如果没有,请直接绕过或者先看一些关于Maven教程,比如Juven翻译的&Maven权威指南&,google一下便知. 开门见山,首先抛出一个问题(如果你对我遇到的问题不敢兴趣,请飘过,直接看分割线以下的文字): 我有一个团队基础框架项目,代号:framework,用maven构建,是个war类型的项目.团队中其他的应用项目都会用到它,包括Java程序和Web相关的一些文件(js.css和html等公共组件).所以我在package的时候产出了多
前言: 好几天没写文了,因为在折腾传说中的8国语言博客,实际目前预定义了10国 + 1自定义语言,代码还在慢慢的写着写着 ~~~~ 目前最新进展预览网址为:/ ,其强大之处及 CYQ.Data 框架 V3.N 系列 后文再介绍了. 写文章有时候是需要有灵感或一时的冲动的 ~ 比如刚刚在改博客代码,经过一段思考,得到一些灵感,便有了此文. 在很久很久的 Long Long Ago 以前,写过一篇文章:重构-使代码更简洁优美:实际经验之谈(提供一技巧
1.应用Aggregation管理多个子项目 Maven中有一个Aggregation(聚合),可以将多个项目作为模块添加到一个pom.xml中,然后告诉Jenkins这个顶层pom.xml,就可以自动从Git中拿出这些项目的源代码,并build所有的子项目和运行相应的测试程序.我这里使用的是TestNG. 比如我有两个maven项目client和email_sender,我希望一次编译并测试,在这两个项目文件夹之上的目录上添加一个pom.xml,内容如下: &project xmlns=&quot
依赖管理是maven的一大特征,对于一个简单的项目,对依赖的管理并不是什么困难的事,但是如果这个项目依赖的库文件达到几十个甚至于上百个的时候就不是一个简单的问题了.在这个时候maven对于依赖管理的作用就显露出来了.下面主要讨论几个方面的内容:传递性依赖,依赖范围,依赖管理,系统依赖,可选依赖 传递性依赖: 传递性依赖是在maven2中添加的新特征,这个特征的作用就是你不需要考虑你依赖的库文件所需要依赖的库文件,能够将依赖模块的依赖自动的引入.例如我们依赖于spring的库文件,但是spring
首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e. 用MyEclipse安装Maven插件,建出的Maven项目有些问题.一是,发布tomcat的时候resources总是不会被发布到tomcat下:二是,把WEB-INF下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB-INF下生成class.要么真不在WEB-INF生成classes了但是发布tomcat的时
一.IDE基础配置 1.字体 VC6中&Tools→Options→Format→Font&配置字体:VC2005中&工具→选项→环境→字体和颜色&配置字体. 编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点.常用的编程等宽字体包括Fixedsys(VC6和notepad御用字体).Consolas.YaHei Mono. VC6默认可选字体只有Fixedsys和Terminal,可通过修改注册表来改字体,在HKEY_CU
1.打开Eclipse4.2,新建一个Maven项目 1)选择maven的archetype为maven-archetype-webapp 2)填写项目信息 2.完善项目目录结构 1)手工添加 src/main/java.src/test/java和src/test/resource 三个source folder,在项目上右键 New ----&Source Folder,输入folder name即可. 2)修改Source Folder的编译路径,进入Java Build Bath窗口,双
第一步.创建maven工程 我的maven项目目录图如下 pom添加以下依赖 &!-- spring3 --& 版本 &spring.version&3.2.4.RELEASE&/spring.version&&dependency& &groupId&org.springframework&/groupId& &artifactId&spring-webmvc&/artifactId& &version
1.下载github for window / 2.设置相关绑定 Settings --Version Control--Git--Path to Git executable--选择你的安装目录 C:\Users\Administrator\AppData\Local\GitHub\PortableGit_0f65d050d0c352fd38a0b25d82ee942deb19ef87\bin\git.exe Test Settings --V
必备环境: JDK(不低于1.6建议1.7). eclipse java EE版 .tomcat(不低于5建议7.0) 为eclipse安装velocity编辑插件: 在Eclipse的Help-&Install New Software... 点击&Add加 Veloeclipse,值:/svn/trunk/update/ 注:如果无法安装,在安装插件的界面中把 Group Items by Catagory 前打钩去掉.
github文章备份,获得更好的阅读体验 android的两种构建方式 目前android主要有两种构建方式,一种基于ant(传统的),另一种是13年Google/IO上新推出基于Gralde的构建(Android Studio).从sdk的samples的例程也可以看到api18后的例程的项目目录结构也变了. 简单的看一下两种构建方式的目录结构,我们以当前最新sdk19为例 传统的ant构建(Eclipse和Idea默认的Android结构) $ANDROID_HOME/samples/and
maven简介:maven是apache一个项目管理工具,最大的优点就是可以轻松管理项目依赖,只要手动配置就能添加删除依赖,在使用框架或者其他jar包的工程中非常有用 maven使用: maven使用纯JAVA开发,无需安装. 从maven官网下载maven后,解压到目录下 添加classpath:在path项目下,将maven目录的bin目录地址添加进去 配置完后,在命令行界面下,输入mvn,应该输出如下内容: 创建项目,可以在命令行下创建,也可以自己手动创建.maven有固定的项目目录格式,
走进IDE的世界 做Intellij插件开发是个比较麻烦的事,最大的问题就是社区不成熟,而插件开发本来也是松散的知识点居多,所以难免让人觉得举步维艰. 比较好的参考资料是JetBrains官方的文档,但是内容仍然太少,如果想只依靠它开发,那是有相当的难度. 所幸Intellij的community版本是开源的,这就表示:其实你可以通过看源码来了解如何开发!这听起来有点疯狂,但是如果付出足够的时间,这可能是最有效的方法. 编译community代码 Intellij-community的源码在ht
如果你的项目使用maven构建的话,当项目要上线,部署到服务器上去的时候或许会碰见这样的问题.问题就是,服务器上没有maven的环境,也就是说,项目所依赖到的那些仓库(repository)中的jar包你需要单独提取出来上传到服务器中去. 我知道pom类型如果是war的话,在使用mvn package 的命令就能自动将项目依赖的jar包打到web-inf 下的lib文件夹中.但是,如果pom类型为jar的话,当你调用mvn package命令,执行过程中不会将依赖的第三方包提取出来. 以前,我的
最近一个项目中,使用号称下一代构建工具的Gradle构建项目. 使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,jar文件是以外部依赖的形式导入的.Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的. 可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加&Java Build Path Entries&,添加所有依赖的jar
修改eclipse的setter/getter生成的源码(eclipse3.7,可跳过此步) eclipse/plugins/org.eclipse.jdt.ui_*.jar为以下版本的也可跳过此步 3.8.2.v834 用git下载源码git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git 将版本历史切换到eclipse/plugins/org.eclipse.jdt.ui_*.jar包打包之前的最新版本 将其中的四个项
前奏: 公司用Spring Integration开发项目,之前连Spring都没用过,java的web项目也没怎么写过.无奈,只好一点一点地从入门形如学. Spring Integration的官网网址,你可以从这开始学: http://projects.spring.io/spring-integration/ Spring Integration项目可以通过maven或gradle进行构建,下面从&用Maven构建项目&开始讲起.译自原文: http://spring.io/gu
首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的文件如下: 搭建多模块项目,必须要有一个packaging为pom的根目录.创建好这个maven项目后,我们对着项目右键--&new 输入你的项目名称 这里就不重复说创建项目了,创建好的目录结构在eclipse中如下: 说明一下这些项目具体都是干嘛的: easyframework-model:数据模
Java是最流行的编程语言之一,但似乎并没有人喜欢使用它.好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践技巧以及工具. 这篇文章在GitHub上也有.你可以随时在上面贡献或者添加你自己的Java使用技巧或者最佳实践. 编码风格 结构体 builder模式 依赖注入 避免null值 不可变 避免过多的工具类 格式 文档 Stream 部署 框架 Maven 依赖收敛 持续集成 Maven仓储 配置管理
Perl 社区并不是所有的东西都发布在 CPAN 上.甚至专门有一个 Module::ThirdParty 模块记录这些非 CPAN 的 perl 项目列表.其中最有名的应该就属写博客的 Movable Type 和做监控的 SmokePing 了 Perl 社区并不是所有的东西都发布在 CPAN 上.甚至专门有一个 Module::ThirdParty 模块记录这些非 CPAN 的 perl 项目列表.其中最有名的应该就属写博客的 Movable Type 和做监控的 SmokePing 了.
这篇文章主要介绍了Java开发者结合Node.js编程入门教程,我将先向您展示如何使用Java EE创建一个简单的Rest服务来读取 MongoDB数据库.然后我会用node.js来实现相同的功能,需要的朋友可以参考下 首先, 我必须得承认,作为一个有着十多年开发经验的java开发者,我已经形成了解决绝大部分问题的固有套路,尽管它们很多时候显得笨重和繁琐. 比如说如果要读取一个文件,那应该就是初始化一个BufferedReader 实例并传入一个FileReader,这几乎是顺理成章的,我在很多
这篇文章介绍了android杂记:C++文件的添加log方法,有需要的朋友可以参考一下 1.添加头文件 #include &utils/Log.h& //或者 #include &cutils/Log.h& 这个时候可以使用ALOGE/ALOGI/ALOGW 等方法打印出log 不过有些地方不能这么使用,因为依赖libutils libctuils库 在mk文件见添加如下依赖编译即可 复制代码 代码如下: #LOCAL_MODULE := ... ... #base_interme
今天来讲讲如何以正确的方式开始Django(v1.7.6)项目 目录: virtualenv virtualenvwrapper django-admin.py创建项目 增加requirements.txt 增加README.md 增加.gitignore文件 同步数据库 一.virtualenv 什么是virtualenv? virtualenv用于在一台机器上创建多个独立的python运行环境,类似于一个个沙盒环境. 作用:在一个机器上创建出相互隔离,互不影响的Python环境.例如:A项目
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.087 (s). 11 q(s)Intellij IDEA中配置依赖 ---- Hadoop 普通 java 项目
我的图书馆
Intellij IDEA中配置依赖 ---- Hadoop 普通 java 项目
创建普通Java项目添加引用
File – Project Structure... – Modules – Dependencies –
+ – Library... – Java选择/usr/local/Cellar/hadoop/2.5.2/libexec/share/hadoop
目录下除了httpfs外的全部文件夹。&& (Ubuntu is : /usr/local/hadoop/share/hadoop/& )Name可以随便写,例如”common”,OK。+ – Jars or directories...选择/usr/local/Cellar/hadoop/2.5.2/libexec/share/hadoop/common/lib&&& (Ubuntu is : /usr/local/hadoop/share/hadoop/common/lib )
此时Dependencies内应该总共增加了一个”common”和一个”lib”目录。修改Project Structure中的Artifacts,增加Jar包的生成配置。
生成HelloHadoop jar包
生成jar包的过程也比较简单,1.选择菜单File-&Project Structure,弹出Project Structure的设置对话框。2.选择左边的Artifacts后点击上方的“+”按钮3.在弹出的框中选择jar-&from moduls with dependencies..4.选择要启动的类,然后 确定5.应用之后,对话框消失。在IDEA选择菜单Build-&Build Artifacts,选择Build或者Rebuild后即可生成,生成的jar文件位于工程项目目录的out/artifacts下。(这样对于LInux应该就可以了,但是对Mac OS x是不行的。因为OSX by default, the filesystem is set to case-insensitive . 一个解决方法是 转用maven 来build project. 然后可以写代码编译打包了。编写WordCount MapReduce程序
这里直接使用了官方的
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.io.IOEimport java.util.*;import org.apache.hadoop.fs.Pimport org.apache.hadoop.conf.*;import org.apache.hadoop.io.*;import org.apache.hadoop.mapreduce.*;import org.apache.hadoop.mapreduce.lib.input.FileInputFimport org.apache.hadoop.mapreduce.lib.input.TextInputFimport org.apache.hadoop.mapreduce.lib.output.FileOutputFimport org.apache.hadoop.mapreduce.lib.output.TextOutputFpublic class WordCount {
public static class Map extends Mapper&LongWritable, Text, Text, IntWritable& {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
context.write(word, one);
public static class Reduce extends Reducer&Text, IntWritable, Text, IntWritable& {
public void reduce(Text key, Iterable&IntWritable& values, Context context)
throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
context.write(key, new IntWritable(sum));
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = new Job(conf, "wordcount");
job.setJarByClass(WordCount.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
job.setMapperClass(Map.class);
job.setReducerClass(Reduce.class);
job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
job.waitForCompletion(true);
需要注意的是需要在官方代码中加入job.setJarByClass(WordCount.class);这一行,具体解释可以参考。运行HelloHadoop jar包
将生成的HelloHadoop.jar传送到hadoop集群的Name node节点上。处于测试目的,简单写了一个测试数据文本wctest.txt
1234this is hadoop test stringhadoop hadooptest teststring string string
将该测试文本传到HDFS
12[hdfs@172-22-195-15 data]$ hdfs dfs -mkdir /user/chenbiaolong/wc_test_input[hdfs@172-22-195-15 data]$ hdfs dfs -put wctest.txt /user/chenbiaolong/wc_test_input
cd 到jar包对应的目录,执行HelloHadoop jar包
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475[hdfs@172-22-195-15 code]$ cd WorkCount/[hdfs@172-22-195-15 WorkCount]$ lsHelloHadoop.jar
[hdfs@172-22-195-15 WorkCount]$ hadoop jar HelloHadoop.jar WordCount /user/chenbiaolong/wc_test_input /user/chenbiaolong/wc_test_output15/03/26 15:54:19 INFO impl.TimelineClientImpl: Timeline service address: http://172-22-:8188/ws/v1/timeline/15/03/26 15:54:19 INFO client.RMProxy: Connecting to ResourceManager at 172-22-/172.22.195.17:805015/03/26 15:54:20 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.15/03/26 15:54:20 INFO input.FileInputFormat: Total input paths to process : 115/03/26 15:54:21 INFO mapreduce.JobSubmitter: number of splits:115/03/26 15:54:21 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_0_000515/03/26 15:54:21 INFO impl.YarnClientImpl: Submitted application application_0_000515/03/26 15:54:21 INFO mapreduce.Job: The url to track the job: http://172-22-195-17.com:8088/proxy/application_0_0005/15/03/26 15:54:21 INFO mapreduce.Job: Running job: job_0_000515/03/26 15:54:28 INFO mapreduce.Job: Job job_0_0005 running in uber mode : false15/03/26 15:54:28 INFO mapreduce.Job:
map 0% reduce 0%15/03/26 15:54:34 INFO mapreduce.Job:
map 100% reduce 0%15/03/26 15:54:41 INFO mapreduce.Job:
map 100% reduce 100%15/03/26 15:54:42 INFO mapreduce.Job: Job job_0_0005 completed successfully15/03/26 15:54:43 INFO mapreduce.Job: Counters: 49
File System Counters
FILE: Number of bytes read=150
FILE: Number of bytes written=225815
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=210
HDFS: Number of bytes written=37
HDFS: Number of read operations=6
HDFS: Number of large read operations=0
HDFS: Number of write operations=2
Job Counters
Launched map tasks=1
Launched reduce tasks=1
Rack-local map tasks=1
Total time spent by all maps in occupied slots (ms)=4133
Total time spent by all reduces in occupied slots (ms)=4793
Total time spent by all map tasks (ms)=4133
Total time spent by all reduce tasks (ms)=4793
Total vcore-seconds taken by all map tasks=4133
Total vcore-seconds taken by all reduce tasks=4793
Total megabyte-seconds taken by all map tasks=
Total megabyte-seconds taken by all reduce tasks=
Map-Reduce Framework
Map input records=4
Map output records=12
Map output bytes=120
Map output materialized bytes=150
Input split bytes=137
Combine input records=0
Combine output records=0
Reduce input groups=5
Reduce shuffle bytes=150
Reduce input records=12
Reduce output records=5
Spilled Records=24
Shuffled Maps =1
Failed Shuffles=0
Merged Map outputs=1
GC time elapsed (ms)=91
CPU time spent (ms)=3040
Physical memory (bytes) snapshot=
Virtual memory (bytes) snapshot=
Total committed heap usage (bytes)=
Shuffle Errors
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=73
File Output Format Counters
Bytes Written=37[hdfs@172-22-195-15 WorkCount]$
结果被输出到/user/chenbiaolong/wc_test_output
1234567891011[hdfs@172-22-195-15 WorkCount]$ hdfs dfs -ls /user/chenbiaolong/wc_test_outputFound 2 items-rw-r--r--
3 hdfs hdfs
0 2015-03-26 15:54 /user/chenbiaolong/wc_test_output/_SUCCESS-rw-r--r--
3 hdfs hdfs
37 2015-03-26 15:54 /user/chenbiaolong/wc_test_output/part-r-00000[hdfs@172-22-195-15 WorkCount]$ hdfs dfs -cat /user/chenbiaolong/wc_test_output/part-r-00000hadoop
1[hdfs@172-22-195-15 WorkCount]$
可以看出我们已经顺利得到正确结果。
TA的最新馆藏[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 idea gradle 添加依赖 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信