2.eclipse新安裝第一次啓動報錯: Java was started but returned exit code=13…… html
3.把maven 項目引入到一個新的eclipse 空間: Project build error:Non-resolvable POM:Could not find… java
6.No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?git
8. -source 1.5 中不支持 diamond 運算符程序員
15.BufferedReader與BufferedWriter讀寫中文亂碼問題github
16.解決Eclipse中沒法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的問題web
17.針對eclipse調式代碼時打斷點出現斜槓的解決方法.算法
18.eclipse啓動後報錯,An error has occurred. See error log for more details.express
19.eclipse自動提示功能沒了的解決辦法 apache
20.eclipse Ctrl +左鍵查看源代碼提示找不到源windows
22.'version' contains an expression but should be a constant.
有時候在eclipse上使用插件egit向github或者osc上同步代碼時,有時候會發現出現cannot open git-upload-pack這個問題。
通常引發這個問題的緣由有兩個:1、網絡問題,網絡訪問外網老是會出現各類不穩定因素。2、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 文件便可。
選中工程右擊 -> new -> Source Folder -> 在Folder name 裏填寫 src/main/resources
手動寫入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
這時候須要右擊項目——>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 運算符
或者
-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>
如今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>
版本號不支持,如tomcat 7.0和jdk1.8,把tomcat 改成8.0的就行了。
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
在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>
緣由:定義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>
在給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中直接使用,卻找不到該類。
第四步:在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的,今天用的時候發現了,竟然沒有自動提示功能,也就是當一個對象竟然點不出他的相關方法。後來網上搜索了下,成功的 辦法是。
一、我window->Preferences->Java->Editor->content assist
把 Enable auto activation 選項打上勾 :(以下圖)
而且在點後面加上.abcdefghijklmnopqrstuvwxyz
此時重啓了eclipse還不成功,以後接着第二步驟
二、把該勾選的鬥勾選起來
,我本身的eclipse不用重啓就成功了。
這裏再總結下,首先第一步中的做用是指當你輸入一個字母的時候eclipse就會立刻聯想相關的單詞並顯示出來,而且那些聯想的單詞老是跟着,若是你以爲比較煩的話,就改成默認的點號。第二步中才是重點,做用是就是當你用alt+/快捷鍵的時候會聯想出來的。
上圖所示的選項會出現屢次提示的問題
Eclipse代碼提示兩次的解決方案:
20.eclipse Ctrl +左鍵查看源代碼提示找不到源
按住ctrl+鼠標左鍵,這時會進入到找不到源的頁面文件,沒關係,點擊鏈接源代碼
在此對話框下,選擇」External location「。
找到路徑爲安裝java JDK時的路徑,關鍵是在此路徑下,找到src.zip,就好了。
咱們新建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>
<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
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>
在這個標籤中加入國內的鏡像便可,在這裏推薦阿里雲的鏡像,下載速度有明顯的加快
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
項目結構:
更名以後即使把全部的子依賴都改好以後依然是以下結構
解決辦法,把項目刪除從新導入便可。