[乐意黎原创] java里classpath在引入编译文件路径时加星号(*)引起的错误

一不小心,在引入编译java文件路径下加了个星号(*), 如下图:


启动后,页面在抛:




并且后台日志在抛:

E-C-*-A0FF0001-run_jsp._jspService [Thread-50][FATAL][10:06:39,244]
com.jinfonet.web.WRException: NullPointerException at run_jsp.java:134
at org.apache.jsp.run_jsp._jspService(run_jsp.java:151)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at server.servlet.http.HttpServerHandler.service(HttpServerHandler.java:84)
at server.servlet.http.HttpServerHandlerBase.handleConnection(HttpServerHandlerBase.java:97)
at server.servlet.http.HttpServerHandlerBase.run(HttpServerHandlerBase.java:46)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at org.apache.jsp.run_jsp._jspService(run_jsp.java:134)
... 10 more




为这个问题一直困扰了好几天,什么方法都试过了,包括重搭Debug环境等等,修改Java 的版本,一直没有找到方法。


实在没撤,请同事来帮助检查,最后终于愉快的把工作环境弄出来了.



究其原因:原来是我 在 set CLASSPATH= 引入编译文件路径的时候一不小心,错误加了入 *号。见图:



只要把 星号(*) 去了,一切都OK啦。




修改方式如下:

把 E:\Ria-Workspace\Refactoring131029\bin\* 改成 E:\Ria-Workspace\Refactoring131029\bin\ 就可以啦.


错误总是在不经意间引入,并且总是不会怀疑问题会在最容易忽略的地方。

终于大功告成,Mark 一下,希望对自己和大家有所帮助。


其它常识:

java classpath 和 classpath引入和不引入星号(*) 区别: 
classpath 不引入星号:如:D:\abc\   只会到你的class路径中查找找文件; 
classpath 引入星号*:  如:D:\abc\*  不仅包含class路径,还包括jar文件中(class路径)进行查找. 


乐意黎作者原创,严禁转载。

本文地址: http://blog.csdn.net/aerchi/article/details/47273689

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读