Eclipse初次java開發問題總結-1

來源:互聯網
上載者:User

項目需要,使用Eclipse初次java開發,過程中遇到很多問題,有的問題可能很低級,這裡做個簡單的總結,怕忘記:

1、Dyanamic Web Project工程引用普通java工程的類,可能會出現NoClassDefFoundError問題

一個簡單的java工程和一個servlet樣本程式,servlet中調用了Test工程中Test類的靜態方法test():

很顯然TestDW工程需要某種方式“引用”Test工程,剛開始開始我的方式是:右擊TestDW(Dynamic Web Project)工程->選擇Buid Path->Projects->添加Test工程:

這種方式我之前嘗試了在普通java工程之間進行引用是沒問題的,但是在Dynamic Web工程就會出現問題,雖然編譯時間候不會有錯,但一運行就會報java.lang.NoClassDefFoundError的異常:

解決方式

右擊TestDW(Dynamic Web Project)工程->選擇Properties->Deployment Assembly->Add->Project->選擇Test工程。

 

2、Server Runtime Environment 配置問題

需要在Eclipse中調試或運行Servlet程式需要建立Server,但是遇到了無法建立的問題,這是因為Server Runtime Environment沒有配置的問題。

點擊Window->Preferences->Server->Runtime Environment->Add->根據本機情況選擇tomcat安裝路徑即可:

其實這個配置不對的話,也無法使用HttpServlet相關的類的。

 

3、文本編輯中文亂碼問題:

右擊工程->Properties->Text file encoding->Other->UTF-8。

 

4、智能提示

從VS切換到Eclipse還是非常的不習慣,最大的就是智能提示,Eclipse預設的設定對新手挺不方便,不過簡單設定下還是很不錯的:

Window->Properties->Java->Editor->Content Assist,將Auto activation delay設定短一點比如20毫秒,將Auto activation triggers for java從a-zA-Z和.都填上:

另外在使用的過程中慢慢發現的一些快速鍵也很實用:

Ctrl+Shift+f 自動美化代碼格式

Ctrl+Shift+O 自動匯入需要的包/刪除不多餘引入的包等等。

說到Ctrl+Shift+f還有一個問題是這個熱鍵跟搜狗IME的“簡繁體快速鍵”熱鍵衝突:

 

5、引用第三方類庫的問題

可以在Buid Path中選擇Add External JARs但這一引用的jar包使用的是絕對路徑,項目拷到別人的電腦上可能就有問題,我現在使用的方式是在工程下建一個lib目錄將需要用到的第三方jar包到放進去,然後在Buid Path中選擇Add JARs添加工程目錄下的jar包,這樣使用的就是相對路徑。

另外我發現好像Dynamic Web工程需要的第三方jar包需要放到WebContent Web-INF下的lib目錄下。

 

6、找不到源碼

調試或f3的時候提示找不到源碼: 

很簡單點擊Attach Source 添加Jdk安裝目錄下的src.zip就可以了。

 

7、xstream序列化底線問題

項目中使用xstream進行序列化操作,但使用過程中同事發現一個奇怪的問題,就是還原序列化的某個欄位中帶有一個底線的話(比如biz_result),但實際上返回的序列化結果為biz__result,多了一個底線,解決這個問題如下使用xstream:

@SuppressWarnings("deprecation")XmlFriendlyReplacer replacer = new XmlFriendlyReplacer("__", "_");@SuppressWarnings("deprecation")HierarchicalStreamDriver hierarchicalStreamDriver = new XppDriver(replacer);XStream xStream = new XStream(hierarchicalStreamDriver);

 

更多xstream的用法參看官方文檔:http://xstream.codehaus.org/alias-tutorial.html

 

8、代碼同步的問題

開發中遇到另外一個頭痛的問題就是代碼同步的問題,因為之前一直在用SVN,用C#開發的工程代碼同步比較簡單,VS處理很多依賴關係,不需要我們操心。一開始我將整個java的workspace上傳到SVN,然後其他同事check下來後各種問題,我猜測是因為我把一些工程相互之間依賴關係的檔案也上傳上去了(比如.classpath、.settings等,具體這些檔案幹什麼的後面慢慢研究),最後沒辦法只能每次只提交java檔案,但是這樣檔案一多,包層次一多就非常的頭痛。VS裡有SVN用戶端外掛程式,我想eclipse中肯定也有,結果網上一搜果然不出所料,就是subclipse。

eclipse中以外掛程式的形式安裝subeclipse非常簡單:

Help->Install New Software,直接輸入subeclipse的安裝就行了。

安裝後就可以在Window->Preferences->Team中看到SVN的相關配置了:

如果之前workspace中的代碼就是從SVN上check下來的話,那麼右擊工程->Team->Share Project->SVN->……後就可以在Team中看到相關的版本控制操作了:

工程Share後跟在VS中一樣也有各種形狀的表徵圖表示不同的意思,比如黑底白色的星狀代表代碼沒有同步到SVN上跟VS中的紅色小方塊一個意思:

 

 

8、split特殊字元的問題

1、如果用“.”作為分隔的話,必須是如下寫法:String.split("\\."),這樣才能正確的分隔開,不能用String.split(".");
2、如果用“|”作為分隔的話,必須是如下寫法:String.split("\\|"),這樣才能正確的分隔開,不能用String.split("|");
“.”和“|”都是逸出字元,必須得加"\\";
3、如果在一個字串中有多個分隔字元,可以用“|”作為連字號,比如:“a=1 and b =2 or c=3”,把三個都分隔出來,可以用String.split("and|or");

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.