• Exceptioninthread"main"java.lang.ClassNotFoundsException的问题


    报错如下:

    Exceptioninthread"main"java.lang.ClassNotFoundsException

    大致可以判断出是无法定位到main方法,应该是用maven导出jar包时没有指定出口类,于是我更改了项目的pom文件,在其中添加了:

    <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <configuration>
    
                            <archive>
                                <manifest>
                                    <mainClass>cn.hx.test.WordClass</mainClass> 
                                    <addClasspath>true</addClasspath>
                                    <classpathPrefix>lib/</classpathPrefix>
                                </manifest>
    
                            </archive>
                            <classesDirectory>
                            </classesDirectory>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>

    其中 需要更改的地方就是

    <mainClass>cn.hx.test.WordClass</mainClass> 

    这里需要添加你的mainclass的位置

    这里更改完成后,打jar包到虚拟机中运行的时候,又报了这样的错误:

    Exception in thread "main" java.lang.UnsupportedClassVersionError

    是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。

    然后我检查了win下的IDEA中的java version

    而Linux下的jdk却只有1.7,所以我删掉了虚拟机中的原有的jdk的配置,又上传的和win下的同样配置的jdk

    不过需要注意的是,配置了Hadoop分布式后,更改jdk后连带着需要改的不仅仅是配置jdk时的 /etc/profile/下的系统配置的环境变量,还有 

    还有如图所示的hadoop-env.sh文件

    将上述更改完成后,执行Hadoop下的命令后:

    上述问题解决

  • 相关阅读:
    PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码
    开机后apache假死问题解决
    JS控制滚动条 —— 进度条的简单制作
    2014年初组装的第一台电脑
    开启mysql远程连接
    PHP数组的指针操作方法
    Ubuntu Server 13.04安装图形界面
    utf-8和GBK中文字符的长度计算
    2014校园招聘——历程2
    基于LLVM开发属于自己Xcode的Clang插件
  • 原文地址:https://www.cnblogs.com/huxinga/p/6938588.html
Copyright © 2020-2023  润新知