• problems_ide


    1 idea中maven无法导入依赖

    1. 各种尝试都不行,最后无意间看到网上有人执行mvn clean install命令的。于是受到启发,执行clean和install命令,确实下载好了依赖,然后重启idea,所有依赖才能正常工作,如下图:

    2. 另外,还可以尝试注释掉某个依赖,再重新放开,右侧maven面板中的依赖项就不会有红色下划波浪线了。

    3. 还遇到一种情况,一次复制3个依赖到pom.xml中,这3个依赖一直显示红色,无法被导入,各种尝试都不行,而且还影响到整个项目无法启动,也无法执行clean,package等maven操作。 最后发现是其中一个依赖有问题,影响了另外2个依赖的导入。

    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-jdbc</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.hsql</groupId>
    			<artifactId>hsqldb</artifactId>
    			<scope>runtime</scope>
    		</dependency>
    

    其中hsqldb有问题,其groupId写错了,不是org.hsql,应该是org.hsqldb
    曾经一度以为是idea community edition不支持超过10个的module数量,后来发现不是。

    2 idea 一直不停的updating indices 卡进度条问题

    解决方案:file -> Invalidate Caches / Restart -> Invalidate and Restart
    即重建索引。

    3 IntelliJ IDEA Error:(24, 35) java: 常量字符串过长

    在给一个字符串赋值很长很长的一串文本时, idea 编译不通过,报错:
    Error:(24, 35) java: 常量字符串过长

    解决方法:
    File -> Settings -> Build,Execution,Deployment -> Compiler -> Java Compiler , Use Compiler, 选择Eclipse , 点击 Apply

    4 idea跑mapreduce结果为空白文本,idea代码被莫名其妙地改动了

    action:
    一开始查找Step1Main.java的代码错误,尝试关掉分区设置,还是一样。
    后来以为是mapper或reducer不执行,网上查找了半天也没有正确原因。
    最终,偶然间看到reducer中,某些代码被莫名其妙地改动了。字符串login被修改为step1,字符串visit被修改为step2.
    将其修改回来后,执行程序正常。

    idea还是有bug的,包重命名时,会在其他module下新建相同名称的包,还可能把java类移动到新建的包下面。以后要注意了。
    针对idea,改变文件/文件夹名称和所在路径时,有可能改变发生位置变化的文件中的文本内容,尤其是JAVA类中和类名相同的字符串。
    JAVA类名一修改,内部的类名文本也会改,但可能有bug,会把其他和类名相同的字符串也改掉,导致程序运行出错。
    所以一定要慎重,尽量不改,如果一定要改,修改前后也要考虑可能出错的地方去,并检查之。

    5 idea中跑mapreduce报错, PATH设置错误

    errorlog:

    [root@node01 servers]# hadoop jar loginVisit.jar cn.develop.loginVisit.step1.Step1Main
    19/07/17 22:14:59 INFO client.RMProxy: Connecting to ResourceManager at node01/192.168.8.100:8032
    19/07/17 22:14:59 WARN security.UserGroupInformation: PriviledgedActionException as:root (auth:SIMPLE) cause:java.net.ConnectException: Call From node01.hadoop.com/192.168.8.100 to node02:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
    Exception in thread "main" java.net.ConnectException: Call From node01.hadoop.com/192.168.8.100 to node02:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    

    RCA: Step1Main.java中,path设置错误:
    TextOutputFormat.setOutputPath(job,new Path("hdfs://node02:8020/loginVisit/output3"));
    其中node02要改为node01.
    严重怀疑代码被idea莫名其妙地修改了!

    6

  • 相关阅读:
    【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)
    【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)
    【Linux开发】Linux启动脚本设置
    【Linux开发】Linux启动脚本设置
    【Qt开发】【Linux开发】调试记录:QFontDatabase::loadFromCache Error
    【Qt开发】【Linux开发】调试记录:QFontDatabase::loadFromCache Error
    【Linux开发】【Qt开发】ARM QT移植详细步骤教程
    【Linux开发】【Qt开发】ARM QT移植详细步骤教程
    【linux开发】apt源设置
    【linux开发】apt源设置
  • 原文地址:https://www.cnblogs.com/mediocreWorld/p/15185993.html
Copyright © 2020-2023  润新知