<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-11  評論-0  文章-0  trackbacks-0
      2010年8月31日

    一.Myeclipse10下載與破解

    Genuitec 公司發(fā)布了MyEclipse 10,一款Genuitec旗下的商業(yè)化Eclipse集成開發(fā)工具的升級版本。MyEclipse 10基于Eclipse Indigo構建,為Java和JavaEE項目提供了Maven3的支持。本次發(fā)布的版本中還加入了對JaveEE 6、HTML5、JPA2和JSF 2的支持。版本號10是為了慶祝即將到來的Eclipse的10周年誕辰(MyEclipse的首次發(fā)布是在8年前)。

    我現(xiàn)在用的還是6.5的版本,6.5的版本是我覺得最好用的一個版本。 我裝上了,還沒感受到有哪些好用,就是感覺體積龐大,和IBM 的WID一樣,是個多面手,啥事都能干,其實經(jīng)常能使用的也就其中那么幾個功能,要是能像插件一樣,即插即用就好了。 

    MyEclipse 10使用最高級的桌面和Web開發(fā)技術,包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1 以及 OpenJPA 2.0. 而對 IBM WebSphere 用戶來說,MyEclipse Blue 支持最新版本的 WebSphere Portal Server 7.0、WebSphere 8 以及以前的版本,無縫的支持 IBM DB2 數(shù)據(jù)庫 。 MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能。可以說MyEclipse幾乎囊括了目前所有主流開元產(chǎn)品的專屬eclipse開發(fā)工 具。

    以下是下載與破解鏈接(右擊迅雷下載):

    Myeclipse10 正式下載

    Myeclipse10 Bule版下載

    Myeclipse9/10破解包(內(nèi)附詳細破解步驟)

    另附Myeclipse8/9/10 Verycd下載出處:Myeclipse_Verycd下載

    二.Myeclipse10修改字體

    MyEclipse10 是基于Eclipse3.7內(nèi)核,但在Eclipse的Preferences-〉general-〉Appearance->Colors and Fonts 中并沒有找到Courier New字體,它采用的是Consolas字體,中文看著非常小非常別扭,在Windows7下,系統(tǒng)自帶雖然有Courier New字體,但是并沒有激活顯示,需要手動激活,才能在軟件中使用

    激活方法如下:
    在win7的控制面板->字體,找到Courier New,右鍵,顯示。然后在eclipse的fonts列表中就可以選擇了。上兩張圖


    三.Myeclipse10插件安裝

    說到插件,myeclipse自8.X開始,插件安裝就變得巨難用,通常最好還是用離線安裝,在線安裝很可能出問題,下面僅以SVN安裝為例,其他諸如ADT15,Aptana等都可采用

    1.首先下載SVN包:svn-1.6
    2.解壓SVN包,然后找到其中的兩個文件夾:features 和 plugins
    3.隨意建一個文件夾(位置和名稱自己定就好了,我的是E:\myEclipsePlugin\svn),然后把第二步的解壓好的features 和 plugins放到這個文件夾下
    4.找到myeclipse的安裝目錄,下面有一個configuration\org.eclipse.equinox.simpleconfigurator\bundles.info 文件。現(xiàn)在需要做的就是在該文件內(nèi)添加的東西
    5.添加的內(nèi)容用下面的類生成:

    1. <span style="font-size:13px;">import java.io.File;     
    2. import java.util.ArrayList;     
    3. import java.util.List;     
    4. /**   
    5.  * MyEclipse9 插件配置代碼生成器   
    6.  *   
    7.  *   
    8.  */    
    9. public class PluginConfigCreator     
    10. {     
    11.     public PluginConfigCreator()     
    12.     {     
    13.     }     
    14.     public void print(String path)     
    15.     {     
    16.         List<String> list = getFileList(path);     
    17.         if (list == null)     
    18.         {     
    19.             return;     
    20.         }     
    21.         int length = list.size();     
    22.         for (int i = 0; i < length; i++)     
    23.         {     
    24.             String result = "";     
    25.             String thePath = getFormatPath(getString(list.get(i)));     
    26.             File file = new File(thePath);     
    27.             if (file.isDirectory())     
    28.             {     
    29.                 String fileName = file.getName();     
    30.                 if (fileName.indexOf("_") < 0)     
    31.                 {     
    32.                     print(thePath);     
    33.                     continue;     
    34.                 }     
    35.                 String[] filenames = fileName.split("_");     
    36.                 String filename1 = filenames[0];     
    37.                 String filename2 = filenames[1];     
    38.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"    
    39.                         + fileName + "\\,4,false";     
    40.                 System.out.println(result);     
    41.             } else if (file.isFile())     
    42.             {     
    43.                 String fileName = file.getName();     
    44.                 if (fileName.indexOf("_") < 0)     
    45.                 {     
    46.                     continue;     
    47.                 }     
    48.                 int last = fileName.lastIndexOf("_");// 最后一個下劃線的位置     
    49.                 String filename1 = fileName.substring(0, last);     
    50.                 String filename2 = fileName.substring(last + 1, fileName     
    51.                         .length() - 4);     
    52.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"    
    53.                         + fileName + ",4,false";     
    54.                 System.out.println(result);     
    55.             }     
    56.         }     
    57.     }     
    58.     public List<String> getFileList(String path)     
    59.     {     
    60.         path = getFormatPath(path);     
    61.         path = path + "/";     
    62.         File filePath = new File(path);     
    63.         if (!filePath.isDirectory())     
    64.         {     
    65.             return null;     
    66.         }     
    67.         String[] filelist = filePath.list();     
    68.         List<String> filelistFilter = new ArrayList<String>();     
    69.         for (int i = 0; i < filelist.length; i++)     
    70.         {     
    71.             String tempfilename = getFormatPath(path + filelist[i]);     
    72.             filelistFilter.add(tempfilename);     
    73.         }     
    74.         return filelistFilter;     
    75.     }     
    76.     public String getString(Object object)     
    77.     {     
    78.         if (object == null)     
    79.         {     
    80.             return "";     
    81.         }     
    82.         return String.valueOf(object);     
    83.     }     
    84.     public String getFormatPath(String path)     
    85.     {     
    86.         path = path.replaceAll("\\\\", "/");     
    87.         path = path.replaceAll("http://", "/");     
    88.         return path;     
    89.     }     
    90.     public static void main(String[] args)     
    91.     {     
    92.         /*你的SVN的features 和 plugins復制后放的目錄*/    
    93.             String plugin = "E:/myEclipsePlugin/svn/";     
    94.         new PluginConfigCreator().print(plugin);     
    95.     }     
    96. }  </span>  
    6.把以上生成的字符串(一大堆)添加到第四步bundles.info文件的后面,然后重啟myeclipse即可。


    此外Adobe Flash Builder 4.6也完美支持Myeclipse10,只是插件在安裝的時候不是采用以上方式,根據(jù)官方英文文檔說明,

    首先要將Adobe Flash Builder 4.6安裝完成,

    然后進安裝目錄~\Adobe\Adobe Flash Builder 4.6\utilities運行Adobe Flash Builder 4.6 Plug-in Utility.exe,

    最后根據(jù)安裝向?qū)гO置插件安裝到myeclipse10的目錄~\Genuitec\MyEclipse 10,必須確保該目錄下包含dropins文件

    如此即可完成最新的Adobe Flash Builder 4.6插件的安裝,最后啟動myeclipse10,界面也隨之變成中文,但有時候也會有出問題,此時進入到~\Genuitec\MyEclipse 10\Uninstall Adobe Flash Builder 4.6 Plug-in目錄,運行Uninstall Adobe Flash Builder 4.6 Plug-in.exe卸載插件,重新安裝,第二次必定成功,myeclipse10對插件的兼容性沒有eclipse的好,千萬不可嘗試按 eclipse的配置去暴力修改里面的參數(shù),否則極有可能再也起不來了!


    四.Myeclipse10優(yōu)化

    最后談談如何優(yōu)化Myeclipse10

    1、window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven,將Maven JDK改為電腦上安裝的JDK,即不使用myeclipse提高的JDK
    登記add按鈕,選擇你的電腦上的JDK即可(注意:不是JRE,我的值為:Java6.014)

    2、window-preferences-MyEclipse Enterprise Workbench-Matisse4Myeclipse/Swing,將Design-time information(dt.jar) location 改用電腦安裝的JDK的dt.jar
    (即不使用myeclipse提供的dt.jar,我的值為:C:\Java6.014\lib\dt.jar)

    經(jīng)過以上的優(yōu)化,myeclipse的啟動時間可以減少2/3,Tomcat的啟動速度可以減少1/2(視具體情況而定)

    第一步: 取消自動validation
    validation有一堆,什么xml、jsp、jsf、js等等,我們沒有必要全部都去自動校驗一下,只是需要的時候才會手工校驗一下!

    取消方法:
    windows–>perferences–>myeclipse–>validation
    除開Manual下面的復選框全部選中之外,其他全部不選
    手工驗證方法:
    在要驗證的文件上,單擊鼠標右鍵–>myeclipse–>run validation

     

    第二步:取消Eclipse拼寫檢查
    1、拼寫檢查會給我們帶來不少的麻煩,我們的方法命名都會是單詞的縮寫,他也會提示有錯,所以最好去掉,沒有多大的用處

    windows–>perferences–>general–>validation->editors->Text Editors->spelling

     

    第三步:取消myeclipse的啟動項
    myeclipse會有很多的啟動項,而其中很多我們都用不著,或者只用一兩個,取消前面不用的就可以

    windows–>perferences–>general–>startup and shutdown  (詳見底端介紹)

     

    第四步:更改jsp默認打開的方式
    安裝了myeclipse后,編輯jsp頁面,會打開他的編輯頁面,同時也有預覽頁面,速度很慢,不適合開發(fā)。所以更改之windows–>perferences–>general–>editors->file associations

    在下方選擇一種編輯器,然后點擊左邊的default按鈕

     

    第五步:更改代碼提示快捷鍵(不建議使用增強提示,使用Ctrl+/在自己需要的時候提示更佳)

    現(xiàn)在的代碼提示快捷鍵,默認為ctrl+space,而我們輸入法切換也是,所以會有沖突。誰叫myeclipse是外國人做的呢。。根本不需要切換輸入法.

    windows–>perferences–>general–>Keys

    更改 content assist 為 alt+/

    同時由于alt+/已經(jīng)被word completion占用,所以得同時修改word completion的快捷鍵值

    好了,現(xiàn)在的速度及方便性是不是提高了。

     

    第六步: 更改內(nèi)存使用文件

    1、打開 myeclipse.ini

    1. -vmargs  
    2. -Xms256m  
    3. -Xmx1024m     
    4. -XX:PermSize=128M  
    5. -XX:MaxPermSize=256M  
    把下面的那個 -XX:MaxPermSize 調(diào)大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 調(diào)成跟 -XX:MaxPermSize一樣大
    原因:大家一定對這個畫面很熟悉吧:

    幾乎每次 eclipse 卡到當都是因為這個非堆內(nèi)存不足造成的,把最大跟最小調(diào)成一樣是因為不讓 myeclipse 頻繁的換內(nèi)存區(qū)域大小

    注意:XX:MaxPermSize 和 Xmx 的大小之和不能超過你的電腦內(nèi)存大小

    以下是有關內(nèi)存的一些知識擴展:

    1.堆(Heap)和非堆(Non-heap)內(nèi)存
    按照官方的說法:“Java 虛擬機具有一個堆,堆是運行時數(shù)據(jù)區(qū)域,所有類實例和數(shù)組的內(nèi)存均從此處分配。堆是在 Java 虛擬機啟動時創(chuàng)建的。”“在JVM中堆之外的內(nèi)存稱為非堆內(nèi)存(Non-heap memory)”。可以看出JVM主要管理兩種類型的內(nèi)存:堆和非堆。簡單來說堆就是Java代碼可及的內(nèi)存,是留給開發(fā)人員使用的;非堆就是JVM留給 自己用的,所以方法區(qū)、JVM內(nèi)部處理或優(yōu)化所需的內(nèi)存(如JIT編譯后的代碼緩存)、每個類結構(如運行時常數(shù)池、字段和方法數(shù)據(jù))以及方法和構造方法 的代碼都在非堆內(nèi)存中。
    2.堆內(nèi)存分配
    JVM初始分配的內(nèi)存由-Xms指定,默認是物理內(nèi)存的1/64;JVM最大分配的內(nèi)存由-Xmx指定,默認是物理內(nèi)存的1/4。默認空余堆內(nèi)存小于 40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時,JVM會減少堆直到-Xms的最小限制。因此服務器一般設置-Xms、 -Xmx相等以避免在每次GC 后調(diào)整堆的大小。
    3.非堆內(nèi)存分配
    JVM使用-XX:PermSize設置非堆內(nèi)存初始值,默認是物理內(nèi)存的1/64;由XX:MaxPermSize設置最大非堆內(nèi)存的大小,默認是物理內(nèi)存的1/4。
    4.JVM內(nèi)存限制(最大值)
    首先JVM內(nèi)存限制于實際的最大物理內(nèi)存,假設物理內(nèi)存無限大的話,JVM內(nèi)存的最大值跟操作系統(tǒng)有很大的關系。簡單的說就32位處理器雖然可控內(nèi)存空間 有4GB,但是具體的操作系統(tǒng)會給一個限制,這個限制一般是2GB-3GB(一般來說Windows系統(tǒng)下為1.5G-2G,Linux系統(tǒng)下為2G- 3G),而64bit以上的處理器就不會有限制了。
    舉例說明含義:
    -Xms128m 表示JVM Heap(堆內(nèi)存)最小尺寸128MB,初始分配
    -Xmx512m 表示JVM Heap(堆內(nèi)存)最大允許的尺寸256MB,按需分配。
    說明:如果-Xmx不指定或者指定偏小,應用可能會導致java.lang.OutOfMemory錯誤,此錯誤來自JVM不是Throwable的,無法用try...catch捕捉。
    PermSize和MaxPermSize指明虛擬機為java永久生成對象(Permanate generation)如,class對象、方法對象這些可反射(reflective)對象分配內(nèi)存限制,這些內(nèi)存不包括在Heap(堆內(nèi)存)區(qū)之中。
    -XX:PermSize=64MB 最小尺寸,初始分配 
    -XX:MaxPermSize=256MB 最大允許分配尺寸,按需分配
    過小會導致:java.lang.OutOfMemoryError: PermGen space
    MaxPermSize缺省值和-server -client選項相關。-server選項下默認MaxPermSize為64m  -client選項下默認MaxPermSize為32m
    PS:不同廠家的jdk垃圾回收算法不一樣。在sun的jdk下,Xms和Xmx設置一樣,可以減輕伸縮堆大小帶來的壓力,但在ibm的jdk下面,設置為一樣會增大堆碎片產(chǎn)生的幾率。


    第七步: 修改Struts-config.xml文件打開錯誤

    有時點擊myeclipse里的struts的xml配置文件,會報錯:

    Error opening the editorUnable to open the editor ,unknow the editor id…..

    把這個窗口關閉后才出正確的xml文件顯示,這個我們這樣改:

    windows–>perferences–>general–>editors->file associations選擇*.xml,選擇myeclipse xml editor點default,ok

     

    第八步: 取消自動驗證,該成手動驗證

    windows-->perferences-->myeclipse-->validation

    將Build下全部勾取消,保留Manual(手動) 如果你需要驗證某個文件的時候,我們可以單獨去驗證它。方法是,在需要驗證的文件上( 右鍵 -> MyEclipse -> Run Validation   

     

    第九步: 取消Maven更新(啟動更新)

    Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven> 禁用Download repository index updates on startup







    到此有關Myeclipse10的體驗介紹完畢,歡迎大家拍磚,轉(zhuǎn)載請注明出處!


    轉(zhuǎn)載于 Myeclipse10下載,安裝,破解,插件,優(yōu)化介紹(CSDN首發(fā))  http://blog.csdn.net/shimiso/article/details/7061000

    posted @ 2011-12-22 09:24 王健 閱讀(2160) | 評論 (0)編輯 收藏
    客戶端“跨域訪問”一直是一個頭疼的問題,好在有jQuery幫忙,從jQuery-1.2以后跨域問題便迎刃而解。由于自己在項目中遇到跨域問題,借此機會對跨域問題來刨根問底,查閱了相關資料和自己的實踐,算是解決了跨域問題。便記錄下來,以供查閱。 
            jQuery.ajax()支持get方式的跨域,這其實是采用jsonp的方式來完成的。
            真實案例:
            $.ajax({ 
                async:false, 
                url: 'http://www.mysite.com/demo.do',  // 跨域URL
                type: 'GET', 
                dataType: 'jsonp', 
                jsonp: 'jsoncallback', //默認callback
                data: mydata, 
                timeout: 5000, 
                beforeSend: function(){  //jsonp 方式此方法不被觸發(fā)。原因可能是dataType如果指定為jsonp的話,就已經(jīng)不是ajax事件了
                },
                success: function (json) { //客戶端jquery預先定義好的callback函數(shù),成功獲取跨域服務器上的json數(shù)據(jù)后,會動態(tài)執(zhí)行這個callback函數(shù) 
                    if(json.actionErrors.length!=0){ 
                        alert(json.actionErrors); 
                    } 
                    genDynamicContent(qsData,type,json); 
                }, 
                complete: function(XMLHttpRequest, textStatus){ 
                    $.unblockUI({ fadeOut: 10 }); 
                }, 
                error: function(xhr){ 
                    //jsonp 方式此方法不被觸發(fā)
                    //請求出錯處理 
                    alert("請求出錯(請檢查相關度網(wǎng)絡狀況.)"); 
                } 
            });

            注意:
            $.getJSON(" http://www.mysite.com/demo.do?name1="+value1+"&callback=?", 
                function(json){ 
                    if(json.屬性名==值){ 
                        // 執(zhí)行代碼 
                    } 
            }); 
        這種方式其實是上例$.ajax({..}) api的一種高級封裝,有些$.ajax api底層的參數(shù)就被封裝而不可見了。

        在服務端通過callback= request.getParameter("callback") 得到jQuery端隨后要回調(diào)的jsonp32440980
        然后返回類似:"jsonp32440980("+要返回的json數(shù)組+")"; 
        jquery就會通過回調(diào)方法動態(tài)加載調(diào)用這個:jsonp32440980(json數(shù)組);
        這樣就達到了跨域數(shù)據(jù)交換的目的. 
        jsonp的最基本的原理是:動態(tài)添加一個是一致的(qq空間就是大量采用這種方式來實現(xiàn)跨域數(shù)據(jù)交換的) 。JSONP是一種腳本注入(Script Injection)行為,所以也有一定的安全隱患。
        注意:jquey是不支持post方式跨域的。
        這是因為雖然采用post +動態(tài)生成iframe是可以達到post跨域的目的(有位js牛人就是這樣把jquery1.2.5 打patch的),但這樣做是一個比較極端的方式,不建議采用。也可以說get方式的跨域是合法的,post方式從安全角度上被認為是不合法的,萬不得已還是不要post,client端跨域訪問的需求看來也引起w3c的注意了,看資料說html5 WebSocket標準支持跨域的數(shù)據(jù)交換,應該也是一個將來可選的跨域數(shù)據(jù)交換的解決方案。
    參考:http://www.jb51.net/article/21213.htm

    posted @ 2010-09-29 11:27 王健 閱讀(156) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-09-29 11:27 王健 閱讀(2479) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-09-22 18:34 王健 閱讀(171) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-09-15 08:13 王健 閱讀(707) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-09-15 08:10 王健 閱讀(122) | 評論 (0)編輯 收藏
         摘要: http://www.json.org/json-zh.html  閱讀全文
    posted @ 2010-09-15 06:39 王健 閱讀(399) | 評論 (0)編輯 收藏
    http://www.cnblogs.com/zxub/archive/2006/08/03/466682.html
    posted @ 2010-09-01 11:39 王健 閱讀(409) | 評論 (0)編輯 收藏
    http://files.cnblogs.com/guoyilin/freemarker%E4%BE%8B%E5%AD%90.rar
    http://www.004.la/data/2010/0414/article_44.htm
    posted @ 2010-08-31 18:50 王健 閱讀(168) | 評論 (0)編輯 收藏
    Hi,

    I have a web application that was running on tomcat5.5. Now i want to deploy it on tomcat 6. when runing it, i got an error saying:

    org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
            at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)

    After a search, i found that DefaultAnnotationProcessor implements AnnotationProcessor and in tomcat 6 catalina.jar and jasper.jar both of them contains AnnotationProcessor interface in the same package. Some solution was suggested by kind people but it doesn't work for me, which is adding this line:

    <Loader delegate="true" />

    to the context element in the context.xml file of tomcat.

    Did any body face this problem?

    warm regards



    根據(jù)上面的描述,并修改了tomcat里的context.xml文件,在context 元素下添加
    <Loader delegate="true" /> 
    即可
    posted @ 2010-08-31 17:42 王健 閱讀(414) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲色大成网站www永久| 99麻豆久久久国产精品免费| 四虎在线免费视频| 久热综合在线亚洲精品| 一级毛片a免费播放王色电影 | 手机在线看永久av片免费| 亚洲av无码成人黄网站在线观看 | 一级毛片在线观看免费| 久久亚洲高清综合| 免费无遮挡无码视频在线观看| 四虎www成人影院免费观看| 亚洲中字慕日产2021| 亚洲黄色免费观看| 精品亚洲麻豆1区2区3区| 免费日本一区二区| 亚洲国产无套无码av电影| 精品一区二区三区高清免费观看| 男人的天堂亚洲一区二区三区 | 免费无码成人AV在线播放不卡 | 在线永久免费的视频草莓| 亚洲高清中文字幕| 精品一区二区三区无码免费视频| 久久久久亚洲AV成人无码| 国产免费一区二区三区不卡 | 亚洲欧洲另类春色校园网站| 国产高清免费视频| 91亚洲精品麻豆| 国产h肉在线视频免费观看| 亚洲日韩中文字幕天堂不卡| 每天更新的免费av片在线观看| 久久精品国产亚洲AV大全| 91香蕉国产线观看免费全集| 精品日韩亚洲AV无码一区二区三区 | 亚洲精品免费观看| 99久久精品免费视频| 亚洲视频2020| 亚洲免费电影网站| 亚洲精品第一国产综合野| 久久久www成人免费毛片| 亚洲国产精品无码第一区二区三区| 四虎免费在线观看|