javaweb 与 HDFS 坑

前提:javaweb 项目,hdfs中的数据文件,导入访问hdfs的jar包,eclipse调试

问题:在×××.java代码中正常访问hdfs,浏览jsp时调用×××.java程序,报java.lang.NoClassDefFoundError: org/apache/hadoop/fs/Path。

误区:  java.lang.NoClassDefFoundError    &&  java.lang.ClassNotFoundException

分析:

  java.lang.ClassNotFoundException

   1  .jar 包没导  -  已导入!

   2.  jar包导入位置问题: 在web-inf/lib 下添加 jar包  -  就是在此加的jar包!

   3.  部署的项目文件中没有这个类包  ??

     通过eclipse运行:eclipse没有将lib下的jar包部署到文件的tomcat的web-inf/lib下,tomcat检查时找不到jar

  

  NoClassDefFoundError 错误产生的原因是:

  4.  JVM在编译的时候能找到调用方法或静态变量所在的类,但在运行的时候找不到此类而引发的错误。

  5.  没有将jar添加到classpath ??

解决:

  3 -> 参考 - https://www.cnblogs.com/xiangkejin/p/8798859.html

  5 -> 在java build path里的order and export里把要编译的包文件前打勾

    认识:order就是使用class的顺序(因为可能出现class同名的情况)
       export就是把用到的一些的lib和project同时发布.

  有效:重建项目,重新导包

   解释:查看web项目下有没有web app libraries - 这个类库有关web

总结:

  web deployment assembly  -  发布

    * . DeployPath表示每个资源发布之后的文件路径

     build path - 编译

   的几个选型卡Source、Projects、Libraries、Order and Export

   1. 设置 .java .class 的存放路径(java,javaweb项目中位置不同)

   2. 关联其他项目 ( 调用其他项目工程,使用其中一些东西)

   3. 关联类库( libraries 添加jar包到项目中)

   4.  Order and Export有两个属性,调用优先级的问题,越在上边调用优先级越高

待续:

   eclipse中的启动web项目过程............

javaweb访问hdfs的一些错误的更多相关文章

  1. 通过Thrift访问HDFS分布式文件系统的性能瓶颈分析

    通过Thrift访问HDFS分布式文件系统的性能瓶颈分析 引言 Hadoop提供的HDFS布式文件存储系统,提供了基于thrift的客户端访问支持,但是因为Thrift自身的访问特点,在高并发的访问情 ...

  2. Java程序中不通过hadoop jar的方式访问hdfs

      一般情况下,我们使用Java访问hadoop distributed file system(hdfs)使用hadoop的相应api,添加以下的pom.xml依赖(这里以hadoop2.2.0版本 ...

  3. javaweb开发中的常见错误

    Javaweb中的最常见错误及其解决方法 1.200:表示成功处理业务. 2.400 请求出错: 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就 无法重复此请求. 解决办法:,遇到400 ...

  4. 部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, mounting read-only mount: cannot mount block device //192.168.1.108/mysqldata read-only

    部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, moun ...

  5. Firefox访问https出现 ssl_error_weak_server_ephemeral_dh_key错误

    一个自签名的内部网站当ff访问时出现以下错误 SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange hands ...

  6. windows通过thrift访问hdfs

    thirift是一个支持跨种语言的远程调用框架,通过thrift远程调用框架,结合hadoop1.x中的thriftfs,编写了一个针对hadoop2.x的thriftfs,供外部程序调用. 1.准备 ...

  7. 问题-关于sharemem程序访问WEB出现内存错误处理

    [delphi技术] 关于sharemem造成dll错误的处理办法问题现象:如果程序和dll之间用string作为参数传递时容易出现错误问题处理:需要在程序的uses中使用sharemem.这个sha ...

  8. 利用JavaAPI访问HDFS的文件

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  9. Hadoop(五)搭建Hadoop与Java访问HDFS集群

    前言 上一篇详细介绍了HDFS集群,还有操作HDFS集群的一些命令,常用的命令: hdfs dfs -ls xxx hdfs dfs -mkdir -p /xxx/xxx hdfs dfs -cat ...

随机推荐

  1. 解决windows下tomcat端口被占用[Address already in use: JVM_Bind]

    有时候电脑比较卡,项目比较大的情况下,eclipse没有完全停止tomcat的情况下,下次启动会出现tomcat的端口被占用无法启动的情况,主要报如下错误 解决方案 window下打开命令窗口(快捷键 ...

  2. java继承 子类重写父类方法

    package com.addd; //多态 public class Sld { private String name = "zhangsan"; public Sld() { ...

  3. java代码输出1到100的质数

    总结:循环,循环.. package com.dfd; import java.util.Scanner; //输出0到100的质数 //要判断当到100时候,等于2的直接输出,能被2整除的不输出, ...

  4. websocket之一:websocket简介

    Websocket websocket为一次HTTP握手后,后续通讯为tcp协议的通讯方式. WebSocket 使用一种被称作“Upgrade handshake(升级握手)”的机制将标准的 HTT ...

  5. 2014.10.1 Cmd更改系统时间

    Process p = new Process(); //Process类有一个StartInfo属性 //设定程序名 p.StartInfo.FileName = "cmd.exe&quo ...

  6. mongodb与mongodb可视化工具adminMongo结合使用

    一,MongoDB的安置及配置 1,从MongoDB官网下载安装 https://www.mongodb.com/download-center#community 根据的电脑选择合适的版本安装: 根 ...

  7. 类型:linux;问题:linux命令;结果:Linux常用命令大全

    Linux常用命令大全 QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更多1997 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...

  8. C# 正规表达式

    在C#中怎么用正则表达式限制文本框内不能输入数字?只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:" ...

  9. kernel下制作动态logo

    kernel下制作动态logo 在uboot中实现logo的好处是反映速度快. 在kernel中实现logo的好处是,不管是android还是什么其他平台,logo显示无需考虑上层平台. 参照三星平台 ...

  10. 在Linux下adb连接不上android手机的终极解决方案

    转自: http://blog.csdn.net/liuqz2009/article/details/7942569 1.做android开发的过程,碰到了Linux下adb识别不了android设备 ...