Eclipse下把jar包放到工程lib下和通过buildpath加载有什么不同(解决找不到类的中级方法)

我通过Eclipse的 User Libranry 将jar导入 Eclipse里面,编译没有问题,运行的时候就报class文件没有定义,后来上网上查了下,原因找到啦,是这样的:

用Java Build Path导入包和把包复制到lib下是有区别的,它俩其实不会冲突,也没有什么关系的,Java Build Path是我们编译需要的包,在比如在import ***.***.***时如果没用Java Build Path导入包的话类里面就有红叉,说不识别这个类;

导入到lib下是程序运行时需要的包,即便用Java Build Path导入过的包,没放到lib下,运行项目时会出现ClassNotFoundException的异常.

1、首先把spring的jar包都拷贝到web-inf的lib目录下

2、然后在eclipse里用F5刷新,查看lib出现新加入的jar包

3、最后在buildpath里面添加jar,注意路径必须是本地“/../..."

知道了两种导包方法

第二种:

java.lang.NullPointerException: charsetName

当使用smartupload上传组件出现此异常时,是因为smartupload.jar有好几个版本,这个版本需要设置字符集,即

SmartUpload su = new SmartUpload();

su.setCharset("UTF-8");

package servlet;

import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;

/**
* Servlet implementation class SmartUploadServlet
*/
public class SmartUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置上传文件保存路径
String filePath = "/home/soft01/桌面/talk";
File file = new File(filePath);
System.out.println("存放文件的地址:"+filePath);
if (!file.exists()) {
file.mkdir();
}
//实例化上传组件
SmartUpload su = new SmartUpload();
//初始化SmartUpload
su.initialize(getServletConfig(), req, resp);
//设置上传文件对象10M
su.setMaxFileSize(1024*1024*10);
//设置所有文件大小100M
su.setTotalMaxFileSize(1024*1024*100);
//设置允许上传文件类型
su.setAllowedFilesList("txt,jpg,gif,png");
String result = "上传成功!";
try {
//设置禁止上传文件类型
su.setDeniedFilesList("rar,jsp,js");
//设定字符集
su.setCharset("UTF-8");
//上传文件
su.upload();
//保存文件
su.save(filePath);
} catch (Exception e) {
result = "上传失败!";
e.printStackTrace();
}

req.setAttribute("smartResult", result);
req.getRequestDispatcher("index.jsp").forward(req, resp);
}

}

----------------------------------------------------------------------------------------------------------------------------

<%@ page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body style="font-size: 30px;">
<form action="smartUploadServlet.do" method="post" enctype="multipart/form-data">
<input type="file" name="myfile" />
<input type="submit" value="上传" />
</form>
</body>
</html>

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^

报错java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \  ^

报这个错的原因是因为在java中“\”是一个转义字符,所以需要用两个代表一个。例如

 System.out.println(“\\”);只会打印出一个\,但是“\”也是正则表达式中的转移字符在java中split的参数就是正则表达式,
所以需要连个代表一个,所以:\\\\被java转换成\\又被正则转换成\ 另外 replaceAll,split等java方法中的参数都是正则表达式,如果是\的话都需要写\\\\
package test;
/*
* 获取本地的IP地址
*/
import java.net.InetAddress;
import java.net.UnknownHostException; public class Test {
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址
String hostAddress = address.getHostAddress();////InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//获取的是该网站的ip地址,比如我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地
//String hostAddress1 = address1.getHostAddress());//124.237.121.122
//InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根据主机名返回其可能的所有InetAddress对象
//for(InetAddress addr:addresses){
//System.out.println(addr);//www.baidu.com/14.215.177.38
//www.baidu.com/14.215.177.37
//}
System.out.println("hostAddress:"+hostAddress);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}

使用第三方jar时出现的问题的更多相关文章

  1. Android 导入第三方jar时 出现ClassNotFoundException

    处理方式: 1.首先检查有没有正确的导入该jar和有没有重复导入该jar. 2.如果没有出现1的问题,那么在buildpath->order and export 中将你导入的jar左边的复选框 ...

  2. java项目打成jar包时引用了第三方jar,此时我们该如何解决呢

    Web项目做多了,反而对单纯的java项目陌生了,今天我们在开发项目的过程中,碰到一个这样的需求:需要将java项目放到linux系统上跑起来,当然这个javaSE项目是带main方法的.我们知道在I ...

  3. 关于 maven 打包直接运行的 fat jar (uber jar) 时需要包含本地文件系统第三方 jar 文件的问题

    关于maven打包fat jar (uber jar) 时需要包含本地文件系统第三方jar文件的问题,今天折腾了一整天.最后还是用了spring boot来做.下面是几篇关于打包的有参考价值的文章,以 ...

  4. IDEA查看第三方jar包的源代码时出现Decompiled.class file, bytecode version:52.0 (Java 8)的解决方案

    IDEA中使用Ctrl+左键查看第三方jar包的源代码时,出现Decompiled.class file, bytecode version:52.0 (Java 8),说明IDEA没找到该类的.ja ...

  5. 使用Nexus管理Maven仓库时,上传带依赖的第三方jar

    总所周知,使用Maven构建非常方便.在企业中使用Nexus创建私服来管理Maven时,需要上传很多没有开放源码的第三方Jar包.本文将讲述当第三方Jar包有很多并且互相有依赖时如何上传. 核心操作 ...

  6. Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...

  7. 如何在制作jar包时引用第三方jar包

    我用的是Eclipse打包,但在CMD窗口执行的时候报“ActiveMQ.jar中没有主清单属性”错误. 在网上搜了下,这个与MANIFEST.MF文件有关,该文件没有定义MAIN方法所在类的路径,利 ...

  8. eclipse打包jar时包含第三方jar包的相关问题

    我用的是mars4.5版本的eclipse 需求:要把写好的工程打成jar包,并能直接运行.工程用了若干个第三方jar. 在打包的时候,eclipse提供的打包方法不能引用第三方jar包,导致了出现C ...

  9. [Android]proguard重新编译和如何不混淆第三方jar包

    转载自:http://glblong.blog.51cto.com/3058613/1536516 一.ant安装.环境变量配置及验证 (一)安装ant 到官方主页http://ant.apache. ...

随机推荐

  1. (71)Wangdao.com第十一天_JavaScript 数学对象 Math

    Math 对象 封装了数学相关的 属性和方法. 和其他对象不一样,Math 不是一个构造函数,所以不能 new 生成实例, 其所有属性和方法都必须在 Math 对象上调用. 静态属性 Math.PI ...

  2. 【管理篇】用户故事STORY

    项目管理中,常常听说story,用户故事 “一开始就做对系统”纯属神话,反之,我们应该去实现今天的用户故事,然后重构,明天再拓展系统.实现新的用户故事.这就是迭代和增量敏捷的精粹所在.

  3. C语言面试题分类->宏定义

    1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. ...

  4. C++ 编译发现 error C2146: syntax error : missing ';' before identifier 'm_ctrlserver'

    解决这个问题的根源是重复包含了头文件

  5. 如何将WORD表格转换成EXCEL表格

    WORD和EXCEL都可以制作表格,但WORD表格与EXCEL表格之间有着很明显的差距,所以在办公中经常会需要将WORD转换成EXCEL,今天小编就教大家一招将WORD表格转换成EXCEL表格. 操作 ...

  6. oo第二单元作业总结

    oo第二单元博客总结 在第一单元求导结束后,迎来了第二单元的多线程电梯的问题,在本单元前两次作业中个人主要应用两个线程,采用“生产者-消费者”模式和共享数据变量的方式解决问题.在第三次作业中加入多个电 ...

  7. PHP 简易聊天室 利用redis的订阅发布功能

    demo:http://www.200ok.fun:8083/api/chat/list 前言:这个种方式太耗redis连接数,每次订阅都会新起一个进程,仅供练手使用,切勿用于生产环境. 原理:1.P ...

  8. mysql (六)

    约束: 非空约束: 创建表时添加: create table stu( id  int , name  varchar(20) not null ) 创建完表之后 alter table stu  m ...

  9. 剑指offer-扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...

  10. python 数组中数字求和是否为零

    需求是: 给定一个不少于4个元素的list(4个元素不重复): 请确认是否存在这样的4个元素,使得四数之和为0?如果有打印出符合条件的四个元素,如果没有打印False #!/usr/bin/pytho ...