• java文件编译报错:error: unmappable character for encoding ASCII

    解决:

    编译时:javac -encoding utf-8 TestJava.java

    运行时:java -Dfile.encoding=utf-8 TestJava

  • 问题:

    mac系统下,javac运行报错:Error: Could not find or load main class xxx

    解决:如果你的class在package里,你必须cd到包含该package的目录,运行带package的全路径class

    举例:

    比如我的class,是java_project/package1/Main.class

    bash命令如下:

cd java_project
java package1/Main 或 java package1.Main
  • 问题:

    Eclipse EE 报错:The reference to entity "useSSL" must end with the ';' delimiter

    解决:在xml文件中 &符号 需要转义; 这个根据 HTML 的转义规则 更改就行 & -> &(分号为英文符号)

  • 问题:

    Eclipse EE 警告:The resource is a duplicate of xxx and was not copied to the output folder

    原因:当有多个 source folders,而且多个 source folders 都有同名的文件时,报这个警告。

    解决:让不同的 source folders 中,没有同名的文件。如果项目需要有同名的文件,可忽略此警告。

  • 问题:

    Eclipse EE 警告:Resource leak: 'context' is never closed

    具体代码,ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    解决:将前面用子类来写,并关闭

    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

  • 问题:

    Eclipse EE 报错:The serializable class does not declare a static final serialVersionUID field of type long

    原因:

    serialVersionUID用来作为Java对象序列化中的版本标示之用;

    如果一个序列化类没有声明这样一个static final的产量,JVM会根据各种参数为这个类计算一个;

    对于同样一个类,不同版本的JDK可能会得出不同的serivalVersionUID;

    序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

你可以随便写一个,在Eclipse中它替你生成一个,有两种生成方式:

一个是默认的1L,比如:private static final long serialVersionUID = 1L;

一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = -8940196742313994740L;之类的。

当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个提示功能告诉你去定义之。

在Eclipse中点击类中warning的图标一下,Eclipse就会自动给定两种生成的方式,如上面所述。如果不想定义它,在Eclipse的设置中也可以把它关掉的,设置如下:

Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==> Potential programming problems

将Serializable class without serialVersionUID的warning改成ignore即可。

如果你没有考虑到兼容性问题时,就把它关掉,不过有这个功能是好的,只要任何类别实现了Serializable这个接口的话,如果没有加入 serialVersionUID,Eclipse都会给你warning提示,这个serialVersionUID为了让该类别 Serializable向后兼容。

如果你的类Serialized存到硬盘上面后,可是后来你却更改了类别的field(增加或减少或改名),当你Deserialize时,就会出现Exception的,这样就会造成不兼容性的问题。

但当serialVersionUID相同时,它就会将不一样的field以type的预设值Deserialize,这个可以避开不兼容性的问题。

最后,不考虑兼容性的问题,我把这个warning改成ignore了。

  • 问题:

    Eclipse EE 报错:One or more constraints have not been satisfied

    原因: Deployment Assembly跟java版本不匹配

    解决:

    在pom.xml中添加下面内容即可,同时也可以解决Maven->update project动作后默认jdk的问题
<project>
...
<profiles>
<profile>
<id>jdk-1.8</id>
<!-- 另外一种激活方式 -->
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
...
</project>
  • 问题:

    web.xml头部配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

Eclipse EE 报错:The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param,filter,filter-mapping,listener,servlet,servlet-mapping,session-config?,mime-mapping,welcome-file-list?,error-page,taglib,resource-env-ref,resource-ref,security-constraint,login-config?,security-role,env-entry,ejb-ref,ejb-local-ref)"

原因:

文档内容标签顺序不符合web-app_2_3.dtd规范

解决:

1:严格按照提示上的顺序排列

2:删除<!DOCTYPE 。。。。这段内容

  • 问题:

    Eclipse EE 报错:Cannot change version of project facet Dynamic Web Module to 3.1。

    原因:

    Dynamic Web Module 在这里无法直接修改为3.1

    解决:

    打开工程目录下有一个.settings文件夹,打开org.eclipse.wst.common.project.facet.core.xml,做如下修改:
<installed facet="jst.web" version="3.1"/>

重启eclipe就可以看到更改生效了。

  • 问题:

    Eclipse EE 报错:Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.

    原因:

    JRE 不匹配。

    解决:

    项目目录右击 =》Properties =》Java Build Path =》Libraries =》Add Library... =》JRE System Library =》选择需要的JRE。

  • 问题:

    Eclipse EE 报错:Cannot make a static reference to the non-static method format(Date) from the type DateFormat

    原因:

    java中 静态方法不可以直接调用非静态方法和成员,也不能使用this关键字。

    解决:

    之前写的:

    DateFormat.format(new Date())

    改成:

    DateFormat.getInstance().format(new Date())

    查询api,看具体用法。

  • 问题:

    Eclipse EE 报错:Overriding managed version 4.12 for junit,类似报错。

    原因:

    覆盖定义了版本,在父的pom文件中已经定义了。

    解决:

    删除当前依赖的version。

  • 问题:

    Eclipse EE 报错:Duplicating managed version 4.12 for junit,类似报错。

    原因:

    重复定义了版本,在父的pom文件中已经定义了。

    解决:

    删除当前依赖的version。

  • 问题:

    Eclipse EE 报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。

    原因:

    Javaweb工程的类中,没有添加Tomcat运行时相关类导致。

    解决:

    项目目录右击 =》Build Path =》Configure Build Path... =》Libraries =》Add Library... =》Server Runtime =》选中需要的tomcat。

    http://blog.csdn.net/testcs_dn/article/details/36455669

  • 问题:

    Eclipse EE 报错:Java compiler level does not match the version of the installed Java project facet.

    或 Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.

    解决:

    右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面。

    在页面中的“Java”下拉列表中,选择相应版本就OK了

java 报错及解决的更多相关文章

  1. java报错与解决方法总结

    错误 error:Syntax error, insert ")" to complete MethodDeclaration 解决办法:放到main方法里 错误原因: 错误: e ...

  2. [java报错]Could not instantiate listener XXXXXX

    写在开头的话: 兜兜转转,辞去了深圳的工作,回到了武汉,从事的居然一度是我最不想学的语言-java,曾经以为自己并不会java,但是上手之后,发现语言都是相通的,自己一度排斥学习java真的是不能再傻 ...

  3. pom.xml里有红叉报错的解决办法

    pom.xml里有红叉报错的解决办法一: 1.把鼠标点在报的错上发现pom.xml报如下错误: Multiple annotations found at this line: - Failure t ...

  4. Can't bind to local 8700 for debugger报错和解决

    [2016-02-15 22:37:17 - ddms] Can't bind to local 8700 for debugger报错和解决 1.打开studio monitor是出错: Can't ...

  5. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

  6. java报错java/lang/NoClassDefFoundError: java/lang/Object

    安装完java出错 javac和java -version 都无效,报错如上 解决方法,更改文件中的两个文件(前提是你的 vim  /etc/profile  文件路径写的正确) /usr/java/ ...

  7. 0.4 IDEA报错以及解决方式

    0.4 IDEA报错以及解决方式一.端口被占用 [WARNING] FAILED SelectChannelConnector@0.0.0.0:8080: java.net.BindException ...

  8. Springboot数据库连接池报错的解决办法

    Springboot数据库连接池报错的解决办法 这个异常通常在Linux服务器上会发生,原因是Linux系统会主动断开一个长时间没有通信的连接 那么我们的问题就是:数据库连接池长时间处于间歇状态,导致 ...

  9. window7下安装第三方包报错及解决

    window7 64位下安装第三方包,,比如安装yaml的exe执行文件,会 报错及解决:python version 2.7(3.4) required,which was not found in ...

随机推荐

  1. UVA-10026 Shoemaker's Problem (贪心)

    题目大意:一个鞋匠,有n只鞋要修,修某只鞋的时间ti已知,某只鞋晚修一天要交的罚款fi也已知.现在让找个修鞋顺序使得罚款最少. 题目分析:本来想水一下这道题,没想到真的AC啦.后来又查的题解,找的解释 ...

  2. OAF多语言的实现

    在之前的文章中转载了一篇关于多语言实现的文章. OAF中多语言的实现(转) 现在我来讲讲另外一种情况. 在建立工程项目没有特别选择语言,所以所有的PG或RN页面都是英文的,在页面原文件中可看到如下内容 ...

  3. C/C++中 malloc和new区别

    1. malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存. new 是个操作符,和什么"+"," ...

  4. POJ 2752 KMP中next数组的理解

    感觉这里讲的挺好的.http://cavenkaka.iteye.com/blog/1569062 就是不断递归next数组.长度不断减小. 题意:给你一个串,如果这个串存在一个长度为n的前缀串,和长 ...

  5. UVALive 5846 计数

    DES:给出任意两点之间连线的颜色.问一共会有多少个由相同颜色的边组成的三角形. 一共有C(3, n)个三角形.考虑一每个点为顶点的三角形.颜色不同的两条边组成的三角形一定不行.所以减去. 题目链接: ...

  6. 官网下载的spring-framework的一些描述

    刚下载下来是这个文件夹:

  7. nginx对上传文件大小的限制

    前几天项目组的一个小伙子过来跟我说,他本地上传的文件没问题,但是在测试环境上测试的时候上传失败. 后来发现时nginx对上传文件的大小做了限制,默认是1M,那么按照需求我们更改了限值为20M vi c ...

  8. Final阶段第1周/共1周 Scrum立会报告+燃尽图 03

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2482] 版本控制:https://git.coding.net/liuyy08 ...

  9. Enginering English for interview (1)

    I was lucky to work in a foreign company, Here is an overview of the interview test : 1.Because of t ...

  10. 企业信息管理软件 OA、CRM、PM、HR 财务、ERP等

    本文就企业信息管理软件做一个记录. 最近公司要开发物料管理系统....于是查找一些资料 Excel垄断企业信息管理软件二三十年无人撼动:OA.CRM.PM.HR软件不温不火难以普及. 已有的信息化市场 ...