eclipse报错排解

Posted 豆豆DE思念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse报错排解相关的知识,希望对你有一定的参考价值。

1.解决eclipse中git插件中的cannot open git-upload-pack问题

2.eclipse新安装第一次启动报错: Java was started but returned exit code=13…… 

3.把maven 项目引入到一个新的eclipse 空间: Project build error:Non-resolvable POM:Could not find… 

4.Eclipse 用maven-archetype-quickstart框架创建的maven工程下没有src/main/resources文件夹解决办法。

5.在导入hibernate core后依然无法 快捷弹出 Configuration类,

6.No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

7.web.xml is missing and <failOnMissingWebXml> is set to true

 8. -source 1.5 中不支持 diamond 运算符

 9.maven下载jar包速度慢(解决办法)

10.tomcat启动报错Invalid byte tag in constant pool:15

11.eclipse 中文乱码问题解决

12.解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题

13.The servlets named [A] and [B] are both mapped to the url-pattern [/servlet/]which is not permitted

14.eclipse换了高版本的maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

15.BufferedReader与BufferedWriter读写中文乱码问题

 16.解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题

17.针对eclipse调式代码时打断点出现斜杠的解决方法.

 18.eclipse启动后报错,An error has occurred. See error log for more details.

19.eclipse自动提示功能没了的解决办法 

20.eclipse Ctrl +左键查看源代码提示找不到源

21.eclipse新建maven项目,修改默认jdk版本 

22.\'version\' contains an expression but should be a constant.

23.maven下载jar包速度慢

24.聚合项目父类改名后,项目结构不会重现

25.tomcat 默认45s timeout

26.关于eclipse Installed JREs 添加 jdk10.0.2时,提示“Target is not a JDK root. System library was not found.”的解决方案

27.[ERROR] 不再支持源选项 1.5。请使用 1.6 或更高版本。

29.No ests found with test runnerJUnit5

30.Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0

31.解决maven关于创建项目jdk版本默认1.5的问题

32.Eclipse Problems During Content Assist正确解决方法

 

 

1.解决eclipse中git插件中的cannot open git-upload-pack问题

有时候在eclipse上使用插件egit向github或者osc上同步代码时,有时候会发现出现cannot open git-upload-pack这个问题。 

一般引起这个问题的原因有两个:一、网络问题,网络访问外网总是会出现各种不稳定因素。二、eclipse中egit插件的配置问题。

 第一个问题自己动手解决,就不多说。

第二点:配置问题.

打开eclipse中的windows-->Preferences-->Team-->Git-->Configuration-->User Settings.然后点Add Entry新建一个键值对,输入http.sslVerify=false

 

然后确定  ,就发现git可以正常的pull和push了。

所有的前提是你能用浏览器访问https://github.com/或者https://bitbucket.org/

 

2.eclipse新安装第一次启动报错: Java was started but returned exit code=13…… 
这是由于JDK和eclipse和电脑的位数不一致所致,要么都为32位,要么都为64位。 


3.把maven 项目引入到一个新的eclipse 空间: Project build error:Non-resolvable POM:Could not find… 
只需要重新更新maven的 setting 文件即可。

4.Eclipse 用maven-archetype-quickstart框架创建的maven工程下没有src/main/resources文件夹解决办法。

选中工程右击 -> new -> Source Folder -> 在Folder name 里填写 src/main/resources 

5.在导入hibernate core后依然无法 快捷弹出 Configuration类,

手动写入import orgorg.hibernate.cfg.Configuration

再输入部分就会自动提示。

备注:其他类无法自动提示也可以这样解决 

6.No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?


因为Eclipse默认是运行在JRE上的,而m2eclipse的一些功能要求使用JDK。
解决方法1. Window > Preferences > Java > Installed JREs 添加JDK。


解决方法2.配置Eclipse安装目录的eclipse.ini文件,在-vmargs 参数的前面,添加vm配置指向JDK。例如:
--launcher.appendVmargs
-vm
%JAVA_HOME%\\bin\\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

7.web.xml is missing and <failOnMissingWebXml> is set to true

这时候需要右击项目——>Java EE Tools——>Generate Deployment Descriptor Stub.然后系统会在src/main/webapp/WEB_INF文件加下创建web.xml文件。错误解决!

当然这个方法是针对web项目的解决方案,如果你的工程不是web项目,那么还有另外一种解决方案,就是在pom文件中配置一下failOnMissingWebXml。具体配置如下:

<build>

  <plugins>

   <plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-war-plugin</artifactId>

    <version>2.6</version>

    <configuration>

     <failOnMissingWebXml>false</failOnMissingWebXml>

    </configuration>

   </plugin>

  </plugins>

 </build>

 8. -source 1.5 中不支持 diamond 运算符

[ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)

或者

-source 1.5 中不支持 multi-catch 语句

[ERROR] (请使用 -source 7 或更高版本以启用 multi-catch 语句)

由于历史原因,maven的核心插件之一compiler默认只支持编译Java1.3,

因此需要配置该插件对java其他版本的支持,

指定Maven的版本,并且指定Maven使用的jdk版本

在pom.xml中修改

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
           <encoding>UTF-8</encoding>
</configuration> </plugin> </plugins> </build>

 9.maven下载jar包速度慢(解决办法)

现在maven项目非常流行,因为它对jar实行了一个非常方便的管理,我们可以通过在pom.xml文件中做对应的配置即可将所需要的jar包与自己的项目形成依赖。 

但是通常我们会因为下载jar包速度缓慢而苦恼,这十分影响开发效率,以及程序员的心情,在IDE下载jar时,无法对IDE做任何动作,只能大眼对小眼。 

下载jar速度慢究其原因就是因为很多资源都是国外的,我们下载一个小文件几乎就跨越了一个太平洋那么远,那么有什么方法可以让下载速度变快呢?

其实方法很简单:maven是支持镜像的,我们可以在maven的conf文件加下的setting.xml文件中找到<mirrors></mirrors>标签

<mirrors>  
    <!-- mirror  
     | Specifies a repository mirror site to use instead of a given repository. The repository that  
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used  
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.  
     |  
    <mirror>  
      <id>mirrorId</id>  
      <mirrorOf>repositoryId</mirrorOf>  
      <name>Human Readable Name for this Mirror.</name>  
      <url>http://my.repository.com/repo/path</url>  
    </mirror>  
     -->  
      
  </mirrors>  

在这个标签中加入国内的镜像即可,在这里推荐阿里云的镜像,下载速度有明显的加快

<mirror>  
 <id>alimaven</id>  
 <mirrorOf>central</mirrorOf>  
 <name>aliyun maven</name>  
 <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>  
</mirror> 

 10.tomcat启动报错Invalid byte tag in constant pool:15

版本号不支持,如tomcat 7.0和jdk1.8,把tomcat 改为8.0的就好了。

11.eclipse 中文乱码问题解决 

eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。

 

如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文 都是乱码;如果所有工程的编码方式与eclipse工作空间的编码方式有冲突,那么所有的工程里的中文都有可能是乱码。对于eclipse工作空间 ,eclipse会把你改的设置保存在工作空间的设置文件中,对于单个工程的编码方式进行修改,那么eclipse会把编码方式保存在该工程 的.setting文件包里。 

所以,要避免中文乱码问题有两个原则: 

(1)避免频繁更换工作空间,最好项目从一开始就在一个工作空间中进行,并且最好设置工作空间的编码方式为你平时最经常使用的或者是公司规定的项目编码方式,这样工程就会使用工作空间的编码方式,避免出现编码不一致的情形;

 

(2)相同类型的文件尽量使用相同的编码方式,可以保证相同类型的文件都能使用一致的编码设置;

 

解决中文乱码问题可以有以下设置方案:

 

(1)修改工作空间的编码方式:

 

Window->Preferences->General->Workspace->Text file Encoding

(2)修改单个工程的编码方式:

右击工程,在弹出的菜单中选择最后一项“Properties”

 

 

(3)修改一类文件的编码方式:

假设要将js文件编码方式设为UTF-8,则应该

Window->Preferences->General->Content Types

(4)修改单个文件的编码方式:右击要修改的文件,在弹出的菜单中选择最后一项 “Properties”,在打开的新窗口左边的菜单树中选择 Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式。与修改工程编码方式的方法类似。

ps:在项目过程中遇到的另外一个乱码问题是因为操作系统的字体文件问题,在某些情况下,eclipse所使用的系统中文字体如果被破坏的话,也会导致中文无法显示的问题。所以,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题

2018-06-13 18:40

12.解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题

在pom.xml中添加下面内容即可,同时也可以解决Maven->update project默认jdk的问题

<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>
</profles>

 13.The servlets named [A] and [B] are both mapped to the url-pattern [/servlet/]which is not permitted

原因:定义Servlet时注解@WebServlet(“/servlet/ClientRedirect”)已经默认了Servlet路径,在web.xml中继续配置会冲突。 
解决方法:注释一个即可

@WebServlet("/servlet/ClientRedirect")
public class ClientRedirect extends HttpServlet

 <!-- ClientRedirect映射 -->
  <servlet>
  <servlet-name>client</servlet-name>
  <servlet-class>servlet.com.ClientRedirect</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>client</servlet-name>
  <url-pattern>/servlet/ClientRedirect</url-pattern>
  </servlet-mapping> 

14.eclipse换了高版本的maven插件后报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

在给eclipse换了高版本的maven插件后,引入jar包报如下的错误:
org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

解决方法是:help–>install new software, 然后add,添加如下链接,

http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

一直下一步就可以,后面提示重启eclipse,然后重启eclipse后,右击项目,点击maven–>update project, 错误就没了

15.BufferedReader与BufferedWriter读写中文乱码问题

正常读写英文时用“”“”没问题

FileReader fre = new FileReader("E:\\\\TEST\\\\readText.txt"); 
FileWriter fwi = new FileWriter("E:\\\\TEST\\\\readText2.txt"); 
 
BufferedReader bufr = new BufferedReader(fre );
BufferedWriter bufw = new BufferedWriter(fwi ); 
 
String line = null; 
while((line = bufr.readLine()) != null){ 
    bufw.write(line);
    bufw.newLine(); 
    bufw.flush(); 
}
bufr.close(); 
bufw.close(); 

 

读取中文时需要用GBK或者UTF-8(看源来文件的编码方式) 否则会出现乱码

File fileIn= new File("E:\\\\TEST\\\\readText.txt");
File fileOut= new File("E:\\\\TEST\\\\readText2.txt");
 
InputStreamReader inStream = new InputStreamReader(new FileInputStream(fileIn), "GBK");
 
OutputStreamWriter writerStream = new OutputStreamWriter(new FileOutputStream(fileOut),"GBK");
 
BufferedReader reader = new BufferedReader(inStream);
BufferedWriter writer = new BufferedWriter(writerStream);
String lineWriter = null;
while ((lineWriter = reader.readLine()) != null) {
    writer.write(lineWriter);
    writer.newLine();
    writer.flush();
}
reader.close();
writer.close();
package com.my.interview;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class ReadFile {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String pathname ="d:\\\\test\\\\test.txt";
        File file = new File(pathname);
        BufferedReader br = null;        
        BufferedWriter bw = null;
        InputStreamReader isr = null;
        String string = "";
        
        char[] chs = new char[50];
        
        int len = 0;

        try {
            isr = new InputStreamReader(new FileInputStream(file), "GBK");        
            bw = new BufferedWriter(new FileWriter("d:\\\\test\\\\out.txt"));            
            br = new BufferedReader(isr);

            while ((len  = br.read(chs)) != -1) {
                bw.write(chs, 0, len);
                System.out.println(new String(chs, 0,len));
            }
            bw.close();            
            br.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       

    }

}

 16.解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题

一直以来Base64算法的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder来进行的。但是这个类是sun公司的内部方法,并没有在Java API中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在Eclipse和MyEclipse中直接使用,却找不到该类。

解决方案:
第一步:在使用sun.misc包下的API的项目上右键选择Build Path,选择Configure Build Path
第二步:在Java Build Path窗口,点击第三个选项卡Libraries,选择JRE System Libraries,选择第一项Access rules,点击Edit
第三步:在弹出的窗口中点击Add

 

第四步:在Resolution后面选择Accessible选项,下面的Rule Pattern配置为**,点击OK即可。

 

第五步:点击OK

第六步:点击Apply,点击OK,就会看到工作空间会进行重新导入构建。

 

17.java 导出javadoc中文乱码错误

给 javadoc.exe 加上编码参数就OK。

体的:

在Eclipse里 export 选 JavaDoc,在向导的最后一页的Extra JavaDoc Options 里填上参数即可

比如项目采用的是UTF-8的编码就填:-encoding UTF-8 -charset UTF-8

 

 17.针对eclipse调式代码时打断点出现斜杠的解决方法.

方法一:按快捷键“Ctrl+Alt+B”

方法二:找到菜单栏上的Run,并将Sikp  ALL Breakpoints选项取消掉。

 18.eclipse启动后报错,An error has occurred. See error log for more details.

方法1. 在"开始"-->"运行"---->打入"cmd"进入命令提示行后,再进入eclipse的安装目录,

然后输入eclipse -clean即可(我用的这个方法 成功了)

方法2.
删除configuration文件夹里除config.ini以外的所有文件,重启Eclipse
试试这两个方法

19.eclipse自动提示功能没了的解决办法 

由于重新配置了环境,并且eclipse也是装的4.2的,今天用的时候发现了,居然没有自动提示功能,也就是当一个对象居然点不出他的相关方法。后来网上搜索了下,成功的 办法是。

 

1、我window->Preferences->Java->Editor->content assist 
把 Enable auto activation 选项打上勾 :(如下图)

 

并且在点后面加上.abcdefghijklmnopqrstuvwxyz 

此时重启了eclipse还不成功,之后接着第二步骤

 

2、把该勾选的斗勾选起来

,我自己的eclipse不用重启就成功了。

 

 

这里再总结下,首先第一步中的作用是指当你输入一个字母的时候eclipse就会马上联想相关的单词并显示出来,并且那些联想的单词总是跟着,如果你觉得比较烦的话,就改为默认的点号。第二步中才是重点,作用是就是当你用alt+/快捷键的时候会联想出来的。

 上图所示的选项会出现多次提示的问题

[Eclipse]Eclipse代码提示两次的解决方案

Eclipse代码提示两次的解决方案: 

1、进入目录 Windows->Preferences->Java->Editor->Content Assist->Advanced Configure the behavior of the content assist (Alt+/) command. select the proposal kinds contained in the \'default\' content assist list: Default Proposal Kinds Java Non-Type Proposals 
2、点击Java Non-Type Proposals选项,去掉即可

 

 20.eclipse Ctrl +左键查看源代码提示找不到源

按住ctrl+鼠标左键,这时会进入到找不到源的页面文件,不要紧,点击连接源代码

在此对话框下,选择”External location“。

找到路径为安装java JDK时的路径,关键是在此路径下,找到src.zip,就行了。

 21.eclipse新建maven项目,修改默认jdk版本 

我们新建maven项目,默认jdk版本是1.5,我们可以修改成我们想要的版本,有两种方法

1每个项目修改,在pom.xml添加

<build>
        <plugins>
            <!-- compiler插件, 设定JDK版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
        </plugins>
    </build>

2在maven的配置文件增加属性节点

<profile>   
        <id>jdk-1.7</id>   
        <activation>   
          <activeByDefault>true</activeByDefault>   
          <jdk>1.7</jdk>   
        </activation>   
        <properties>   
            <maven.compiler.source>1.7</maven.compiler.source>   
            <maven.compiler.target>1.7</maven.compiler.target>   
            <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>   
        </properties>   
    </profile>

 22.\'version\' contains an expression but should be a constant.

package web工程时报 \'version\' contains an expression but should be a constant这个错误提示,这是因为Maven3 不允许出现version为非常量值的情况。

那么就将版本号改成常量后可以正常打包

父pom文件:

<modelVersion>4.0.0</modelVersion>
<groupId>com.wey</groupId>
<artifactId>WEY</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

子pom文件

<parent>
    <groupId>com.wey</groupId>
    <artifactId>WEY</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../WEY/pom.xml</relativePath>
</parent>
<artifactId>WEY.WebApp</artifactId>
<packaging>war</packaging>
<name>WEY.WebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
如果更新版本号一个文件一个文件的去改太麻烦,可以用以下命令一次性更新版本号:
>mvn versions:set -DnewVersion=0.0.2-SNAPSHOT
>mvn versions:update-child-modules
更新的父及子Module的版本号都改成了0.0.2-SNAPSHOT.
<modelVersion>4.0.0</modelVersion>
<groupId>com.wey</groupId>
<artifactId>WEY</artifactId>
<version>0.0.2-SNAPSHOT</version>
<packaging>pom</packaging>


<parent>
    <groupId>com.wey</groupId>
    <artifactId>WEY</artifactId>
    <version>0.0.2-SNAPSHOT</version>
    <relativePath>../WEY/pom.xml</relativePath>
</parent>
<artifactId>WEY.WebApp</artifactId>
<packaging>war</packaging>
<name>WEY.WebApp Maven Webapp</name>
<url>http://maven.apache.org</url>

Maven还会生成一个pom.xml.versionsBackup的备份文件。

提交更新:

>mvn versions:commit

23.maven下载jar包速度慢

1.maven下载jar包速度慢(解决办法)

现在maven项目非常流行,因为它对jar实行了一个非常方便的管理,我们可以通过在pom.xml文件中做对应的配置即可将所需要的jar包与自己的项目形成依赖。  

但是通常我们会因为下载jar包速度缓慢而苦恼,这十分影响开发效率,以及程序员的心情,在IDE下载jar时,无法对IDE做任何动作,只能大眼对小眼。  

下载jar速度慢究其原因就是因为很多资源都是国外的,我们下载一个小文件几乎就跨越了一个太平洋那么远,那么有什么方法可以让下载速度变快呢? 

其实方法很简单:maven是支持镜像的,我们可以在maven的conf文件加下的setting.xml文件中找到<mirrors></mirrors>标签 

<mirrors>  
    <!-- mirror  
     | Specifies a repository mirror site to use instead of a given repository. The repository that  
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used  
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.  
     |  
    <mirror>  
      <id>mirrorId</id>  
      <mirrorOf>repositoryId</mirrorOf>  
      <name>Human Readable Name for this Mirror.</name>  
      <url>http://my.repository.com/repo/path</url>  
    </mirror>  
     -->        
  </mirrors>  

在这个标签中加入国内的镜像即可,在这里推荐阿里云的镜像,下载速度有明显的加快