如何在IDEA里查看引入idea maven依赖找不到包源码

maven 使用maven命令来分析jar包之间的依赖关系 - 为程序员服务
为程序员服务
使用maven命令来分析jar包之间的依赖关系
一直有个疑问就是,我在pom文件里面引用了那些配置信息,它是如何找到各自的依赖的,后来发现原来一些jar包的配置信息已经自己在开发的时候就写入了pom信息了,各自的依赖都在maven官方仓库里挂着,这个我们自己不用操心,那既然这样,我们又该从哪里查到这些依赖信息呢,这就需要用maven的命令了,如果你是在myeclipse或者eclipse中集成的maven开发环境,那么看到如下截图,你就明白了.
下面是一些别的命令,如果想在myeclipse中运行,请去掉mvn三个单词~~
1、创建一个新的Maven项目:
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch3 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
2、构建打包应用:
mvn install[在pom.xml同级目录下执行]
3、查看项目完整的pom.xml文件,包括系统默认设置以及用户自定义设置:
mvn help:effective-pom
4、生成报告或者文档:
5、mvn exec:java执行目标类
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
6、查看插件的完整描述:
mvn help:describe -Dplugin=exec -Dfull
7、找出该项目所依赖的项目(jar)列表:
mvn dependency:resolve
mvn dependency:analyze(找出项目非直接依赖)
结果如下:
[INFO] The following files have been resolved:
com.ibm.icu:icu4j:jar:2.6.1:compile
commons-collections:commons-collections:jar:3.1:compile
commons-lang:commons-lang:jar:2.1:compile
dom4j:dom4j:jar:1.6.1:compile
jaxen:jaxen:jar:1.1.1:compile
jdom:jdom:jar:1.0:compile
junit:junit:jar:3.8.1:test
log4j:log4j:jar:1.2.14:compile
oro:oro:jar:2.0.8:compile
velocity:velocity:jar:1.5:compile
xalan:xalan:jar:2.6.0:compile
xerces:xercesImpl:jar:2.6.2:compile
xerces:xmlParserAPIs:jar:2.6.2:compile
xml-apis:xml-apis:jar:1.0.b2:compile
xom:xom:jar:1.0:compile
8、查看整个项目的依赖树:
mvn dependency:tree
结果如下:
[INFO] org.sonatype.mavenbook.ch04:simple-weather:jar:1.0
[INFO] +- log4j:log4j:jar:1.2.14:compile
[INFO] +- dom4j:dom4j:jar:1.6.1:compile
\- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] +- jaxen:jaxen:jar:1.1.1:compile
+- jdom:jdom:jar:1.0:compile
+- xerces:xercesImpl:jar:2.6.2:compile
\- xom:xom:jar:1.0:compile
+- xerces:xmlParserAPIs:jar:2.6.2:compile
+- xalan:xalan:jar:2.6.0:compile
\- com.ibm.icu:icu4j:jar:2.6.1:compile
[INFO] +- velocity:velocity:jar:1.5:compile
+- commons-collections:commons-collections:jar:3.1:compile
+- commons-lang:commons-lang:jar:2.1:compile
\- oro:oro:jar:2.0.8:compile
[INFO] \- junit:junit:jar:3.8.1:test
9、查看完整的依赖,包括那些因为冲突而被拒绝引入的依赖:
mvn install -X
10、打包应用(jar):
mvn install assembly:assembly
11、在 Jetty Servlet 容器中启动你的 web 应用:
mvn jetty:run
12、重新编译:
mvn compile
您可能的代码
相关聚客文章
相关专栏文章近期在用maven,遇到了一个问题,用maven打出的apk有问题无法启动,但是用idea打包的就是正常的。日志中显示的问题是,一个apklib形式的依赖包中的一个资源出现了问题。反编译对比maven包和idea包,找到了问题所在。假设:主模块包名为com.android.mainapklib依赖包包名为com.android.apklib出问题的资源(layout)名为MyView问题:apk打包后apklib依赖包的资源文件会与主模块的资源整合到一起,依赖包引用资源实际上是在主模块的R文件中查找对应资源。1)maven包中:在com.android.main下的R文件中MyView的值为0x7f050001;而在com.android.apklib下的R文件中MyView的值为0x7f070001,而且程序内使用该资源时的索引也是0x7f070001。这样程序运行到这段代码时,会去主模块的R文件中找0x7f070001,然而主模块中0x7f070001对应的资源并不是一个layout,所以就会出错。2)idea包中:俩个R文件中MyView的值相同,所以能够正确的找到资源,程序不会出错。这样就知道了问题,但是问题是如何出现的?经过对maven打印日志查看,整理了一个打包的过程如下:1)将所有依赖包拷贝到项目 /target/unpacked-libs 下,整合资源文件,然后生成主模块和各依赖包的R.java等文件2)编译class文件,包括刚才生成的对应包的R文件。注意:编译com.android.apklib下的java文件时,代码中对应资源的索引与(1)生成的com.android.apklib包下的R文件一致3)生成dex4)生成apk(maven打包可以用&mvn clean package&即可。不过也可以像上面那样细分成四步&mvn clean android:generate-sources compile android:dex android:apk&)这样我们就注意到,虽然运行时依赖包会在主模块R文件中查找资源,但是编译时还是会根据自己包下的R文件来编译。用maven只处理资源(mvn clean android:generate-sources),以便查看生成的R.java文件,发现问题产生的原因:生成的R.java文件,主模块与依赖包是有冲突的,同一个资源对应不同的索引。这样编译的时候依赖包代码中的资源索引就是有问题的,就会导致问题的出现。那么说明maven在生成R.java文件时是有问题的。继续查看maven打印日志,找到了生成R,java文件对应的日志部分,是执行了aapt的命令。如下:aapt.exe package -f --no-crunch -I D:/AndroidSDK/sdk/platforms/android-16/android.jar -M D:/项目目录/AndroidManifest.xml -S D:/项目目录/res -S D:/项目目录/target/unpacked-libs/依赖包名/res -A D:/项目目录/target/generated-sources/combined-assets/assets -m -J D:/项目目录/target/generated-sources/r --output-text-symbols D:/项目目录/target --auto-add-overlayaapt.exe package --non-constant-id -m -J D:/项目目录/target/generated-sources/r --custom-package 主模块包名 -M D:/项目目录/target/unpacked-libs/依赖包名/AndroidManifest.xml -S D:/项目目录/target/unpacked-libs/依赖包名/res --auto-add-overlay -A D:/项目目录/target/unpacked-libs/依赖包名/combined-assets -I D:/AndroidSDK/sdk/platforms/android-16/android. 第一个命令就是生成主模块R文件的,第二个命令则生成依赖包R文件。(这里简单介绍一下命令的主要组成:“-m -J D:/项目目录/target/generated-sources/r”是R.java文件生成的路径;“-M D:/项目目录/AndroidManifest.xml”是获取包名;“-A D:/项目目录/target/generated-sources/combined-assets/assets”是assets目录;“-S D:/项目目录/res”是res目录,有依赖包的话有多个,并注意顺序;“--non-constant-id”生成的R.java文件中字段不是final类型;“--auto-add-overlay”资源文件自动覆盖)查看发现主模块的R文件一切正常,那么就是第二条命令出的问题。由于自己之前没有研究过打包,对aapt命令很不熟悉,所以一时也不知道该怎么修改。经过在网上查找,慢慢熟悉这条命令每部分的作用。第二条命令仅仅是生成依赖包的R文件,并未与主模块进行关联,这样其实是单独生成的,所以会起冲突。修改很简单,如下:aapt.exe package --non-constant-id -m -J D:/项目目录/target/generated-sources/r --custom-package 主模块包名 -M D:/项目目录/target/unpacked-libs/依赖包名/AndroidManifest.xml -S D:/项目目录/res -S D:/项目目录/target/unpacked-libs/依赖包名/res --auto-add-overlay -A D:/项目目录/target/unpacked-libs/依赖包名/combined-assets -I D:/AndroidSDK/sdk/platforms/android-16/android. 多加了主模块的res进去,这样其实生成的依赖包R文件与主模块的是一摸一样的,里面包含了所有资源,并不仅仅是依赖包的资源。这样再编译就不会有冲突的现象。但是这仅仅是在命令层面解决问题,maven打包使用的是android-maven-plugin(com.jayway.maven.plugins.android.generation2),上面的命令都是由这个插件来执行的。不过还好这个插件是开源的,在github上可以找到。在github上找到这个开源项目,找到对应部分的代码后发现构建的命令是正确的,原来已经有高手在5月中旬解决这个问题了。。。原来是我的插件版本落后了,去中心仓库查看发现android-maven-plugin最新版本是3.9.0-rc.3,这个版本已经解决该bug了。更新一下打包测试,一切正常。虽然最后只是更新一下版本就解决了,但是也学到了不少东西,熟悉了打包流程,另外有兴趣的话可以看看github上对应部分的代码,如何在IDEA里查看引入MAVEN依赖包源码_百度知道
如何在IDEA里查看引入MAVEN依赖包源码
提问者采纳
选择“Paths”点击设置面板(Ctrl+alt+S),是不会添加到项目中的,在classpath标签项中将你在global libraries中创建的项选中就可以啦。在Global Libraries创建的项如果不被选择
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Maven如何手动添加依赖的jar文件到本地Maven仓库_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Maven如何手动添加依赖的jar文件到本地Maven仓库
来源:Linux社区&
作者:Linux
Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。
大家肯定遇到过想在pom文件中加入自己开发的依赖包,这些包肯定是不是在Maven仓库(http://repo1.maven.org/maven2/)的。那我们怎么将那些不存在Maven仓库中的包加入到本地的Maven库中呢?很简单。这里以IKAnalyzer.jar包为例进行讲解。
  第一步:将IKAnalyzer.jar包存放在一个文件夹中,比如mylib文件夹  第二步:建一个IKAnalyzer.jar包相关的pom.xml文件,需要在pom.xml中定义其maven坐标及其相应的依赖代码即可,同样将pom文件存放在上述jar文件同一文件夹下,IKAnalyzer.jar坐标及依赖代码如下:
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&&&modelVersion&4.0.0&/modelVersion&&&groupId&org.wltea.ik-analyzer&/groupId&&&artifactId&ik-analyzer&/artifactId&&&version&3.2.8&/version&&&name&IK Analyzer 3&/name&&&description&A dictionary and grammar-based Chinese segmenter.&/description&&&dependencies&& &dependency&& &&groupId&org.apache.lucene&/groupId&& &&artifactId&lucene-core&/artifactId&& &&version&3.0.3&/version&& &&optional&true&/optional&& &/dependency&& &dependency&& &&groupId&org.apache.solr&/groupId&& &&artifactId&solr-core&/artifactId&& &&version&1.4.1&/version&& &&optional&true&/optional&& &/dependency&& &dependency&& &&groupId&junit&/groupId&& &&artifactId&junit&/artifactId&& &&version&3.8.2&/version&& &&scope&test&/scope&& &/dependency&& &dependency&& &&groupId&org.apache.lucene&/groupId&& &&artifactId&lucene-analyzers&/artifactId&& &&version&3.0.3&/version&& &&scope&test&/scope&& &/dependency&& &dependency&& &&groupId&org.apache.lucene&/groupId&& &&artifactId&lucene-smartcn&/artifactId&& &&version&3.0.3&/version&& &&scope&test&/scope&& &/dependency&&&/dependencies&&/project&  第三步:打开CMD,进入到mylib文件夹,运行下面命令
mvn install:install-file& & & & & & &
\& & -Dfile=IKAnalyzer3.2.8.jar& & & &
\& & -DgroupId=org.wltea.ik-analyzer& & \& & -DartifactId=ik-analyzer& & & & &
\& & -Dversion=3.2.8& & & & & & & & & & \& & -Dpackaging=jar 这样你就可以将IKAnalyzer3.2.8.jar安装到您Maven本地的库文件夹相应目录中。你可以根据你需要安装包的实际情况修改上面的几个参数的设定值即可。之后你可以在pom.xml文件中通过以下依赖在项目中引入上述的包,如下:
&dependency&& & & & & & &groupId&org.wltea.ik-analyzer&/groupId&& & & & & & &artifactId&ik-analyzer&/artifactId&& & & & & & &version&3.2.8&/version&& & & & &/dependency&当然你也可以不将IKAnalyzer3.2.8.jar发布到您本地的Maven库中,而是通过下面配置引入,效果和上面的差不多:
& & & & &dependency&& & & & & & &groupId&org.wltea&/groupId&& & & & & & &artifactId&IKAnalyzer&/artifactId&& & & & & & &version&3.2.8&/version&& & & & & & &systemPath&C:\Users\yangping\Desktop\a\IKAnalyzer3.2.8.jar&/systemPath&& & & & &/dependency&(完)
Maven 的详细介绍:Maven 的下载地址:
相关阅读:
Maven 3.1.0 发布,项目构建工具
Linux 安装 Maven
Maven3.0 配置和简单使用
下搭建sun-jdk和Maven2
Maven使用入门
相关资讯 & & &
& (04月11日)
& (02月24日)
& (04月14日)
& (03月23日)
& (02月23日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款能提高阅读和调试效率~~
应该说这个和是不是Spark项目没什么关系。建议你使用intellij idea,在spark目录下执行"sbt/sbt gen-idea",会自动生成.idea项目,导入即可。idea我不熟,还需要做一些其他的插件配置(python, sbt等)和环境设置。你也可以使用Eclipse看,Eclipse有scala IDE,把Spark项目当maven工程导入。但是子项目之间的依赖会有点问题,会报错。推荐使用前者,向Databricks的开发者看齐;我使用的是后者,我直接依赖了编译好的包就不会报错了,纯读源码的话也勉强可以跟踪和调试。另外,我也看有的Committer用vim看spark代码的,所以怎么看源码都无所谓,你熟悉就好,而且这和是不是Spark项目也没什么关系。:)
这个问题被很多人问过,很早就想写一下。尤其是如何在 IntelliJ IDEA 中单步调试 Spark。&br&&br&若无特殊说明,本篇均以撰稿时最新的 Spark 2.0 SNAPSHOT 和 IntelliJ IDEA 2016 为基础,并以 SBT 为主要 build 工具。&br&&br&&b&IDE 选择&br&&/b&&br&Spark 的主力 IDE 无疑是 IntelliJ IDEA。在 Databricks 我也见过直接用 Vim、Sublime 的同事,然而但凡用 IDE 的,清一色是 IDEA,从没见过谁用 Eclipse 和/或 NetBeans。所以,作为主力 contributor 的日常 IDE,IDEA 一定是最驯顺的。(就个人体验而言,IDEA 也是我用过的最好的 Java/Scala IDE。)&br&&br&有一点需要提前说明的是,不要指望让 IDEA 全权搞定工程导入、build、test、debug 的全部环节。出于历史原因,Spark 采用了 Maven 和 SBT 两套 build 系统,二者互相交织,再加上引入了 assembly jar,使得整个 build 系统变得对 IDE 不那么友好。截至撰稿为止,我尚未见过任何一套可以在单个 IDE 内搞定全套流程的方法。不过不用紧张,debugger 还是可以用的。&br&&br&&b&Build Spark&br&&/b&&br&在将 Spark 工程导入 IDEA 之前,最好先 build 一遍 Spark,至少完成编译步骤。这是因为编译过程中还会自动生成一些源码。尤其是 Spark 2.0 中 SQL parser 改用 ANTLR 实现。如果不经编译直接将工程导入 IDEA,parser 相关的 class 会出现引用缺失。&br&&br&Build Spark 的详细步骤参见&a class=& wrap external& href=&///?target=http%3A//spark.apache.org/docs/latest/building-spark.html& target=&_blank& rel=&nofollow noreferrer&&官网文档&i class=&icon-external&&&/i&&/a&。这里只提一些额外的注意事项。&br&&br&首先,请努力建设有中国特色的社会主义个人网络访问渠道。(听说朝廷要大力发展大数据来着?呵呵。)&br&&br&其次,和一般理解不同,build Spark 其实不需要单独安装 Scala 和 SBT。Spark 源码中的 build/sbt 脚本会自动下载指定版本的 SBT,而 SBT 在 build Spark 的过程中又会自动下载指定版本的 Scala。所以除非你需要脱离 Spark 单独使用 Scala,否则无须另行安装。对于 Maven,build/mvn 脚本的行为也类似。&br&&br&最后就是 profile “套餐”的选择。这部分内容官网文档中已经有所涉及。详细的 profile 定义请参见 Spark 根目录下的 pom.xml。此外,目前 Spark 同时支持 Scala 2.10 和 2.11,其中 Spark 2.0 默认启用 2.11。查看 pom.xml 的时候会看到 scala-2.10 和 scala-2.11 这两个 profile。但用 SBT build 时,启用这两个 profile 需要用 -D 而不是 -P,如:&br&&div class=&highlight&&&pre&&code class=&language-text&&build/sbt -Dscala-2.10 -Phive clean assembly/assembly
&/code&&/pre&&/div&简单说,这是因为 Spark 的 SBT build 对 Scala 版本的设置做了特殊处理,标准的 Maven -P 参数是无效的。&br&&br&&u&注意:正在开发中的 Spark 2.0 已经取消了 assembly jar,把上述的 assembly/assembly 替换为 package 即可。&/u&&br&&br&&b&工程导入&br&&/b&&br&新近版本的 IDEA 对 SBT 的支持已经改进了很多,早就不再需要 sbt-idea 插件。此外,由于 Spark 同时使用 Maven 和 SBT 两套 build 系统,用 Maven 和 SBT 都可以顺利导入。社区里,不同的开发者对 SBT 和 Maven 的偏好各有不同。我印象里 Cloudera 的人相对来说更喜欢 Maven,因为 Maven 对 release publishing 更友好,更方便他们将 Spark 集成进 CDH。而 Databricks 内一般用 SBT 的更多,主要是因为 SBT REPL 开发体验更流畅。&br&&br&我个人的偏好比较分裂——工程导入用 Maven,build 和 test 用 SBT。选择依据主要是最大化日常开发的迭代速度。&br&&br&IDEA 在导入 SBT 工程的时候会出现全局卡死的情况。整个导入过程是同步的,完成之前无法执行任何操作。偏偏 SBT 的依赖解析又极慢,再配合中国特色的社会主义和谐网络,每回导入打个坐,一年下来不是升仙就是成佛了吧……&br&&br&用 Maven 导入 IDEA 工程,这个问题就缓解了许多。Maven 的依赖解析更快,而且 IDEA 的 Maven 支持更成熟,整个解析过程是异步的,不影响其他操作。导入方法也极简单:File / Open,选定 Spark 根目录下的 pom.xml,确定即可。&br&&br&&img data-rawheight=&1210& data-rawwidth=&804& src=&/b3aabc773bc955313fbc90f6695ce36c_b.png& class=&origin_image zh-lightbox-thumb& width=&804& data-original=&/b3aabc773bc955313fbc90f6695ce36c_r.png&&&br&用 Maven 导入工程的另一个优点是,在 IDEA 的 Maven tool window(View & Tool Windows & Maven Projects)里可以很方便地调整 active profiles。假设当前 branch 开发的功能仅和 Hadoop 2.2 下的 Spark SQL 的 Hive 集成相关,那么就可以打开 hadoop-2.2 和 hive profile,关闭其他的 profile。这样一来,无关的 sub-project 就不会被激活,代码索引、依赖解析更快,内存占用也更低。&br&&br&&b&SBT 配置&br&&/b&&br&Spark SBT build 中包含多个 sub-project,日常开发调试时经常需要切换到不同的 sub-project。因此我会简单调整一下 SBT 的 prompt string,以便显示当前的 project 名称。这步并非必须。&br&&br&在 $HOME/.sbt/0.13/global.sbt 中添加以下内容即可:&br&&div class=&highlight&&&pre&&code class=&language-text&&import scala.Console.{BLUE, RESET, UNDERLINED}
shellPrompt := { state =&
val projectId = Project.extract(state).currentProject.id
s&$BLUE${UNDERLINED}sbt ($projectId)&$RESET &
&/code&&/pre&&/div&效果如下:&br&&div class=&highlight&&&pre&&code class=&language-text&&$ ./build/sbt -Phive -Phive-thriftserver
sbt (spark)& project hive
sbt (hive)&
&/code&&/pre&&/div&&br&&b&调试&/b&&br&&br&一个困扰着很多初学者,甚至是一些已经有相当 Spark 开发经验的工程师的问题,就是如何在 IDEA 中调试 Spark(注意这里指的是 Spark 本身,而不是基于 Spark 开发的应用)。可能是由于 SBT / Maven 混用以及使用 assembly jar 的缘故,在 IDEA 里直接 build 和调试 Spark 并不方便,往往会碰到一些奇怪的错误,以至于 IDEA 完全退化成一个代码阅读工具和编辑器。这个问题实际上可以通过远程调试很好地解决。&br&&br&以下以监听模式(listen mode)为例演示如何在 IDEA 内“远程”调试本地 SBT 内启动的 Spark test case。&br&&br&&u&在 IDEA 中建立 Remote Debugging Configuration&br&&/u&&br&选取菜单项 Run & Edit Configurations... 点击左上角加号,选取 Remote 建立一套远程调试配置,并命名为“Remote Debugging (listen)”:&br&&img data-rawheight=&1400& data-rawwidth=&2144& src=&/c82bf467b42325cced42fe_b.png& class=&origin_image zh-lightbox-thumb& width=&2144& data-original=&/c82bf467b42325cced42fe_r.png&&默认的配置刚好合用:&br&&ul&&li&Transport:Socket,目标程序与 debugger 间通过 socket 通讯&/li&&li&Debugger mode:Listen,debugger 担任服务器预先启动并在指定端口监听,等待目标程序主动连入&/li&&li&Host / Port:Debugger 监听的地址和端口,默认为 localhost:5005&br&&/li&&/ul&&br&点击 Debug 建立配置并启动 remote debugger 开始监听。今后需要再次启动 remote debugger 时,按 F9 选择建立好的“Remote Debugging (listen)”配置即可。&br&&br&&u&在 SBT 中启用远程调试&br&&/u&&br&假设我们要调试一个跟 Spark SQL Hive 集成有关的 bug。首先,在 Spark 源码树 sql/hive 这个 sub-project 中挑个合适的 test suite(比如 HiveQuerySuite),添加一个用于复现该 bug 的 test case foo。然后进入 SBT:&br&&div class=&highlight&&&pre&&code class=&language-text&&$ ./build/sbt -Phive -Phive-thriftserver
sbt (spark)&
&/code&&/pre&&/div&切换至 hive sub-project:&br&&div class=&highlight&&&pre&&code class=&language-text&&sbt (spark)& project hive
sbt (hive)&
&/code&&/pre&&/div&设置监听模式远程调试选项:&br&&div class=&highlight&&&pre&&code class=&language-text&&sbt (hive)& set javaOptions in Test += &-agentlib:jdwp=transport=dt_socket,server=n,suspend=n,address=localhost:5005&
&/code&&/pre&&/div&(依具体情况,server、suspend、address 三个参数可以按需调整。各参数含义、取值参见 &a href=&///?target=https%3A///javase/7/docs/technotes/guides/jpda/conninv.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Oracle 官方文档&i class=&icon-external&&&/i&&/a&。)&br&&br&&u&注意:一般情况下,运行 test case 并不需要特地切换当前 sub-project。但 SBT 中的 settings key 是跟着当前 sub-project 走的。调试 hive sub-project 下的 test case 必须在 hive sub-project 下设置 javaOptions。&/u&&br&&br&最后启动我们的 test case:&br&&div class=&highlight&&&pre&&code class=&language-text&&sbt (hive)& testOnly *.HiveQuerySuite -- -t foo
&/code&&/pre&&/div&(末尾的 -t foo 是传递给 ScalaTest runner 的命令行参数,表示只运行 test suite 中的 foo 这个 test case。其他参数及用法参见 &a href=&///?target=http%3A//www.scalatest.org/user_guide/using_the_runner& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ScalaTest 文档&i class=&icon-external&&&/i&&/a&。)&br&&br&在 remote debugger 已经成功启动并处于监听模式的前提下,此时 SBT 应该能够自动连入 remote debugger,事先在 IDEA 里设置了断点的话,也会生效。&br&&br&&u&在 SBT 中关闭远程调试&br&&/u&&br&一旦在 SBT REPL 中设置了上述的 javaOptions,整个 SBT session 中执行任何 test 都会尝试连接 remote debugger。调试结束后,要关闭远程调试,可以执行以下命令清除先前的设置:&br&&div class=&highlight&&&pre&&code class=&language-text&&sbt (hive)& session clear
&/code&&/pre&&/div&&br&&b&其他&br&&/b&&br&&u&sparkShell task&br&&/u&&br&Spark SBT build 中定义了一个 SBT task sparkShell,可以直接在 SBT 内启动一个 Spark shell。做简单测试时很方便。
这个问题被很多人问过,很早就想写一下。尤其是如何在 IntelliJ IDEA 中单步调试 Spark。若无特殊说明,本篇均以撰稿时最新的 Spark 2.0 SNAPSHOT 和 IntelliJ IDEA 2016 为基础,并以 SBT 为主要 build 工具。IDE 选择Spark 的主力 IDE 无疑是 IntelliJ ID…
&a href=&///?target=http%3A///pages//spark_source_code.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Windows + IDEA + SBT 打造Spark源码阅读环境-guozhongxin's blog&i class=&icon-external&&&/i&&/a&&br&这是我写的一篇日志 是spark源码阅读环境的全攻略&br&&br&Spark源码是有Scala语言写成的,目前,&a href=&///?target=http%3A///http%3A///idea/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IDEA&i class=&icon-external&&&/i&&/a&对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发。因此,Spark源码阅读的IDE理所当然的选择了IDEA。&br&&ul&&li&&a href=&///?target=http%3A///idea/download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IDEA&i class=&icon-external&&&/i&&/a&,有两个版本:Ultimate Edition & Community Edition,后者是free的,而且完全能满足学习者所有的需求&/li&&li&&a href=&///?target=http%3A//www.scala-lang.org/download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Scala&i class=&icon-external&&&/i&&/a&,Spark是用Scala语言写成的,在本地编译执行需要这个包&/li&&li&&a href=&///?target=http%3A//www.scala-sbt.org/download.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SBT&i class=&icon-external&&&/i&&/a&,scala工程构建的工具&/li&&li&&a href=&///?target=http%3A///download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Git&i class=&icon-external&&&/i&&/a&,IDEA自动下载SBT插件时可能会用到的工具&/li&&li&&a href=&///?target=http%3A//spark.apache.org/downloads.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Spark Source Code&i class=&icon-external&&&/i&&/a&,Spark源码&/li&&/ul&&br&Spark源码阅读环境的安装步骤安装&a href=&///?target=http%3A//www.scala-lang.org/download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Scala&i class=&icon-external&&&/i&&/a&。&p&完成后,在windows命令行中输入scala,检查是否识别此命令。&br&如果不识别,查看环境变量Path中是否有....\scala\bin(我的电脑右键,属性 -& 高级系统设置 -& 环境变量),没有的手动将Scala文件夹下的bin目录的路径&/p&安装&a href=&///?target=http%3A//www.scala-sbt.org/download.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SBT&i class=&icon-external&&&/i&&/a&&p&运行SBT的安装程序,运行完成后,重新打开windows命令行,输入sbt,检查是否识别此命令。没有的话,手动配置环境变量,添加...\sbt\bin&/p&&p&运行完SBT的安装程序之后,并不意味着完成了sbt的安装,在windows命令放下输入sbt后,SBT会自动的下载安装它所需要的程序包,请耐心等待全部下载成功。&/p&安装&a href=&///?target=http%3A///download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Git&i class=&icon-external&&&/i&&/a&&p&运行Git的安装程序,安装完成后,重新打开windows命令行,检查时候识别git命令。&/p&安装&a href=&///?target=http%3A///idea/download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IDEA&i class=&icon-external&&&/i&&/a&安装IDEA的Scala插件&p&打开IDEA,在‘Welcome to IntelliJ IDEA’界面的‘Quick Start’栏,点击Configure,选择Plugins。&/p&&p&在弹出的窗口中可以看到已安装的插件,现在IDEA默认还没有Scala的插件。需要点击左下角的Install JetBrains plugin...,在搜索框中输入‘scala’,点击安装。安装完成后可能会要求重启一下IDEA。&/p&解压缩Spark Source Code包导入Spark工程&p&在欢迎界面‘Quick Start’栏或者是在主界面的菜单栏File下,选Import Project,找到解压之后的spark工程文件夹,OK。&/p&&p&选择import project from external model中的SBT project,(这个选项只有在安装了IDEA的Scala插件才会有)。&/p&&p&下一步,选择Project SDK为JDK,最好勾上Use auto-import,然后点击Finish。这时,&strong&IDEA会自动下载安装SBT所需的各个包&/strong&,没有装Git的话可能会报错。&/p&&p&因为Spark是一个比较大的工程,所需的包也很多,这个过程也会特别慢,请耐心等待。&/p&导入完成&p&导入完成后,自动打开工程,要等一段时间,等待sbt对这个工程进行编译。&/p&
这是我写的一篇日志 是spark源码阅读环境的全攻略Spark源码是有Scala语言写成的,目前,对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发。因此,Spark源…
已有帐号?
无法登录?
社交帐号登录
唯有好妹子和机遇不可辜负}

我要回帖

更多关于 idea maven 下载依赖 的文章

更多推荐

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

点击添加站长微信