美文网首页
错误记录

错误记录

作者: 橙子潘潘 | 来源:发表于2017-04-08 21:17 被阅读0次

错误日志存储在 你的workspace名称.metadata.log文件夹下。

tomcat运行maven项目Caused by: java.lang.ClassNotFoundException:

通过分析异常日志Caused by: Java.lang.NoClassDefFoundError: 此类异常的原因,一是没有编译、二是缺少jar。

jsonError.png

解决办法:
问题原因已经定位到,解决办法就so easy了;解决办法就是需要的lib及jar拷贝到wtpwebapps\java-sm\WEB-INF文件夹下,此种方式有效,但是麻烦;下面通过配置实现自动发布。

右击项目->Properties->Deployment Assembly->add->Java Build Path Entries - >Maven Dependencies Finsh即可。

maven dependency中存在jar包,但是项目运行时加载不到,没有部署路径,通过上述方法解决。查看这些jar包是否发布到tomcat服务器:

通过ecplise部署项目后会在tomcat的目录下与webapps(MyEclipse下生成文件夹)同级生成一个wtpwebapps和backup文件夹,wtpwebapps就是用于存放部署项目的文件夹。

在路径下查看部署到tomcat的jar包,终端进入文件夹下查看:

:~/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/jrosbridge/WEB-INF/lib```
workspace是eclipse的工作路径,jrosbridge是部署到tomcat上的项目名称。
*******
####javax.util.ServiceconfigurationError:
**javax.util.ServiceconfigurationError:javax.websocket.ContaionProvider: Provider org.apache.tomcat.websocket.WsContaionProvider not a subtype**
解决找不到类部署问题后出现以下配置错误,只有google了才找到了跟我一样的错误。
![配置错误.png](https://img.haomeiwen.com/i3869738/2a606bfc1488002b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
问题猜测是因为tomcat部署的jar包跟依赖中用到的包冲突( *websocket* )。

问题描述:The issue is that my pom.xml file presented a dependency that was in conflict with a couple of .jar files that I had added to my library.
[类似链接问题1](http://stackoverflow.com/questions/26643691/java-util-serviceconfigurationerror-javax-xml-parsers-saxparserfactory-provide)

**问题尝试解决办法一:**
1. 在tomcat8.0上使用websocket
2. 在项目pom文件中添加:

<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>```
因为有了scope标签,所以编译时部署,运行时不部署。
描述:上述修改并没有解决问题,还是报相同错误。原因是在tomcat8上使用websocket协议不支持造成,但是网上搜索都说8完全支持websocket,也不需要添加依赖包。现在还不知道是否是我的eclipse不知道tomcat8造成websocket出错。

问题尝试解决办法一:
重写安装了tomcat7,然后在项目的pom文件中添加上述两个包的依赖,成功链接!错误解决。
上述问题花费我四天以上的时间解决。

转:java项目中Classpath路径指的是什么?

原文地址:http://blog.csdn.net/javaloveiphone/article/details/51994268

  1. src不是classpath, WEB-INF/classes,lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问。
  1. WEB-INF/classes目录存放src目录Java文件编译之后的class文件,xml、properties等资源配置文件,这是一个定位资源的入口。
  2. lib和classes同属classpath,两者的访问优先级为: lib>classes。
  3. 引用classpath路径下的文件,只需在文件名前加classpath:
<param-value>classpath:applicationContext-*.xml</param-value> 
<!-- 引用其子目录下的文件,如 -->
<param-value>classpath:context/conf/controller.xml</param-value>```
5. classpath 和 classpath\*区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。

####eclipse中图标含义:

![json图标含义](https://img.haomeiwen.com/i3869738/c839a4029d4e0edc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
jar包瓶子上多了一个类似文章的一个标记,代表引用的source文件来自本地库,右击>properties中可以做修改。

相关文章

  • 错误处理

    记录错误 Python内置的logging模块可以非常容易地记录错误信息: 抛出错误 如果要抛出错误,首先根据需要...

  • hbase的mr任务报错:due to AM Container

    火山日常啰嗦旨在记录错误,解决错误。 错误描述:due to AM Container for appattemp...

  • 记录Webview错误

    Probable deadlock detected due to WebView API being calle...

  • 记录错误日志

    在PHP项目开发过程中,我们可以自定义一个记录错误日志的函数,方便我们进行debug,下面编写一个简单的记录错误日...

  • 错误记录

    遇到 bug,不要慌,对自己说“又可以进步一点了”。不要怕犯错,遇到 bug 先冷静(承认它的存在,没有 bug ...

  • 错误记录

    错误日志存储在 你的workspace名称.metadata.log文件夹下。 tomcat运行maven项目Ca...

  • 错误的记录

    生气:无法准确分辨对方是真的不想让你说话 还是只是开玩笑的恼怒 dota输:没有及时看roshan,被对面3次ro...

  • 错误记录

    Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。 但是pyt...

  • 错误记录

    错误1:uncaughtsyntaxerror:Unexpected token <解决:js文件路径错误 错误2...

  • 错误记录

    周赛关于棱形的四边求和这个问题其实代码跟思路都对了,就是打代码的时候s2居然把grid[i - 1] 写成了 gr...

网友评论

      本文标题:错误记录

      本文链接:https://www.haomeiwen.com/subject/hvrlattx.html