这篇文章主要讲解了“idea中导入项目后main方法无法Run如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“idea中导入项目后main方法无法Run如何解决”吧!
idea导入项目后main方法无法Run
1.问题
如截图所示,红色框处并未出现run按钮,无法运行
2.解决办法
调试run按钮
2.1)如图所示
进行如下两步操作,先点击自己的项目,再点击Open Module Settings
2.2点击Sources
别忘了点击右下角的Apply或OK
2.3就这样Run按钮就调试出来了
idea导入项目各种报错问题
问题一
[ERROR] scalac error: E:sparkspark-rdd-源码spark-rdd argetclasses does not exist or is not a directory
[INFO] scalac -help gives more information
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.488 s
[INFO] Finished at: 2019-01-05T21:03:33+08:00
[INFO] Final Memory: 58M/598M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.1.6:compile (default) on project spark-rdd: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
如果是报上面的错误的话,你可以找到关键的ERROR日志如下:
[ERROR] scalac error: E:sparkspark-rdd-源码spark-rdd argetclasses does not exist or is not a directory
可以看出,你的spark-rdd的项目的文件路径中带有中文,这个是不允许的,所以你的项目所在的文件的路径中最好不要带有中文
问题二
报上面的错是因为你的pom.xml中没有设置上groupId和version两个属性,在pom.xml中加上这两个属性即可,如下:
<groupId>com.jrq</groupId>
<artifactId>spark-rdd</artifactId>
<version>1.0-SNAPSHOT</version>
然后点击右下角的Import Changes,这个时候如果有依赖的jar报没有下载下来的话,IDEA会去下载依赖jar包(这里需要等一段时间),一段时间后,pom.xml中就没有任何的报错(没有了红色提示线)
groupId:项目组织唯一的标识符,实际对应JAVA的包的结构 artifactId:就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为com.jrq,com表示域为商业组织,jrq是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是com.jrq打头的,如果有个StudentDao,它的全路径就是com.jrq.dao.StudentDao
问题三
error: source file ‘E:sparkspark-rddspark-rddsrcmainjavacomjrqspark dd ?.java’ could not be found
其实是出现了乱码问题了,建议你直接将项目中的 中文字.java这个文件删掉即可
问题四
解决方法是:maven clean -> maven compile