當前位置:首頁 » 編程軟體 » jetty反編譯

jetty反編譯

發布時間: 2023-01-26 04:22:52

『壹』 eclipse怎麼設置編譯時不編譯某個類表的文件 jetty的伺服器

1,查看project --> Build Automatically有沒有選中?如果沒有,勾上以後,clean一下,重啟eclipse。
2,查看你的lib裡面有沒有不用的(多餘)jar包,看你的.classpath文件中有沒有錯誤的路徑.
3,這是最重要的一點,有problems視圖中查看有沒有關於本項目的錯誤信息,一般都會有這樣的話:
The project cannot be built until build path errors are resolved
然後下面提示unbound classpath, 一般在.classpath中刪除這些path就可以了

=================================
今天突然發現eclipse不自動編譯文件了。立即網路搜了一下,按照網上所說的也做了,但是仍然不管用。
沒辦法自己在那兒瞎弄,意外發現在項目右鍵菜單的[Properties->java Build Path]中出現如下提示:
Build path entry is missing: /InfoMirrorServer/js
這時才想到自己昨天好像是不小心建錯了文件夾,然後立即把他刪掉了。難道是這個的原因?我猜想eclipse肯定是在那個文件
中記錄了這個信息。於是在項目中顯示所有文件,看到了一個帶星號的未提交文件:.classpath
不用問,多半就是他了。打開一看,在第二行就有這么一句:
源文件是這樣的:

。。。
於是立即將第二行刪除,保存。哈哈,問題解決!
個人猜想eclipse在編譯時讀取該文件,執行第二行時發現js文件夾不存在,因此拋出異常不往下執行了才導致
的無法編譯。
以上是個人遇到的一種無法編譯的情況的解決方法,拿出來跟大家分享。

============================

總結的關於eclipse不編譯類的問題

1. 確保 Project -> Build Automatically 已經被選上.

2. 如果選上了,也不好使, 使用這一招: Project -> Clean..-> 選第2個Clean pjoject selected below, 選中項目, 點擊 "OK"

3.刪除現在的項目,提前設置好編譯文件輸出路徑,重新導入源文件,設置eclipse為保存時編譯,然後在保存的時候就可以自動編譯了

4.如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎麼也編譯不出來class文件的情況,可以把所有包都刪除,然後一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良後果.

5. 想刪掉某個class文件重新生成,刪除class文件後,但classes目錄下的文件夾被其它程序打開,比如Total Commander。此時編譯也不會通過,在problems下可能會提示「con''t delete classes ……」。關掉其它程序重新編譯即可。

6.還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什麼原因導致的還不清楚。

7.把build path中所有包都remove掉。然後又add jars,add libraries把需要的加進去,居然又開始編譯了。。。

8.Project -> Properties -> Java Build Path -> Source-> WebRoot/WEB-INF/classes
然後重新點擊build工程即可自動編譯。

9.再就是最重要的要看工程下面是否缺少了work目錄,由於CVS控制時不把work加如版本,所以checkout後沒有這個目錄,要手工加上有的工程就能自動編譯了

『貳』 如何選擇Tomcat和Jetty

概括一下 Tomcat 和 Jetty 兩者最大的區別。大體來說,Tomcat 的核心競爭力是 成熟穩定 ,因為它經過了多年的市場考驗,應用也相當廣泛,對於比較復雜的企業級應用支持得更加全面。也因為如此,Tomcat 在整體結構上比 Jetty 更加復雜,功能擴展方面可能不如 Jetty 那麼方便。

而 Jetty 比較年輕,設計上更加 簡潔小巧 ,配置也比較簡單,功能也支持方便地擴展和裁剪,比如我們可以把 Jetty 的 SessionHandler 去掉,以節省內存資源,因此 Jetty 還可以運行在小型的嵌入式設備中,比如手機和機頂盒。當然,我們也可以自己開發一個 Handler,加入 Handler 鏈中用來擴展 Jetty 的功能。值得一提的是,Hadoop 和 Solr 都嵌入了 Jetty 作為 Web 伺服器。

從設計的角度來看,Tomcat 的架構基於一種多級容器的模式,這些容器組件具有父子關系,所有組件依附於這個骨架,而且這個骨架是不變的,我們在擴展 Tomcat 的功能時也需要基於這個骨架,因此 Tomcat 在設計上相對來說比較復雜。當然 Tomcat 也提供了較好的擴展機制,比如我們可以自定義一個 Valve,但相對來說學習成本還是比較大的。而 Jetty 採用 Handler 責任鏈模式。由於 Handler 之間的關系比較鬆散,Jetty 提供 HandlerCollection 可以幫助開發者方便地構建一個 Handler 鏈,同時也提供了 ScopeHandler 幫助開發者控制 Handler 鏈的訪問順序。

說了一堆理論,你可能覺得還是有點抽象,接下來我們通過一個實例,來壓測一下 Tomcat 和 Jetty,看看在同等流量壓力下,Tomcat 和 Jetty 分別表現如何。需要說明的是,通常我們從吞吐量、延遲和錯誤率這三個方面來比較結果。

首先用 Spring Boot 默認的 Tomcat 作為內嵌式 Web 容器,經過一輪壓測後,將內嵌式的 Web 容器換成 Jetty,再做一輪測試,然後比較結果。為了方便觀察各種指標,在本地開發機器上做這個實驗。

我們會在每個請求的處理過程中休眠 1 秒,適當地模擬 Web 應用的 I/O 等待時間。JMeter 客戶端的線程數為 100,壓測持續 10 分鍾。在 JMeter 中創建一個 Summary Report,在這個頁面上,可以看到各種統計指標。

第一步,壓測 Tomcat。啟動 Spring Boot 程序和 JMeter,持續 10 分鍾,以下是測試結果,結果分為兩部分:

第二步,我們將 Spring Boot 的 Web 容器替換成 Jetty,具體步驟是在 pom.xml 文件中的 spring-boot-starter-web 依賴修改下面這樣:

編譯打包,啟動 Spring Boot,再啟動 JMeter 壓測,以下是測試結果:

下面我們通過一個表格來對比 Tomcat 和 Jetty:

從表格中的數據我們可以看到:

當然由於測試場景的限制,以上數據並不能完全反映 Tomcat 和 Jetty 的真實能力。但是它可以在我們做選型的時候提供一些參考:如果系統的目標是資源消耗盡量少,並且對穩定性要求沒有那麼高,可以選擇輕量級的 Jetty;如果你的系統是比較關鍵的企業級應用,建議還是選擇 Tomcat 比較穩妥。

最後用一句話總結 Tomcat 和 Jetty 的區別:Tomcat 好比是一位工作多年比較成熟的工程師,輕易不會出錯、不會掉鏈子,但是他有自己的想法,不會輕易做出改變。而 Jetty 更像是一位年輕的後起之秀,腦子轉得很快,可塑性也很強,但有時候也會犯一點小錯誤。

『叄』 android使用org.eclipse.jetty.server中的server

這句錯誤提示後面還有很多吧,查看一下,確定一下是否還有別的jar沒引入,也許org.eclipse.jetty.server.jar還有相關的jar包。

『肆』 Maven如何不編譯而直接啟動Jetty中上次編譯好的項目

使用maven jetty 插件,並不會打成war包然後部署到jetty。。。
它是以嵌入式方式運行,jetty 直接監控某個運行目錄,當文件發生變化時,如果新編譯了修改的文件,它會作出相應的載入,這非常適合增量開發。

『伍』 is only available on Java 1.5 and highe

1. eclipse 下載安裝

這個就是最新版本就行,沒啥特殊的,安裝完畢,寫個HelloWorld能跑就行

2. 安裝配置運行jetty

下載最新版本jetty,解壓縮就行

3. 安裝eclipse的jetty插件

eclipse integration plugin,地址如下,各種安裝,eclipse market,配置說明都在這里(最省事的安裝就是從eclipse market頁面直接拖拽install按鈕到eclipse界面)

http://eclipse-jetty.github.io/installation.html

4. 配置jdk

因為要支持jsp,因此需要包含java編譯器的運行時jre,普通的jre是不包含編譯功能的,因此,需要在eclipse->window->preferences->java->installed jre中添加jdk目錄下的jre

5. 新建web項目

這個跟著eclipse的向導走就行了,沒啥特殊的(編譯時的jre,用啥都無所謂)

6. 運行含有jsp的web項目

第一次,需要run configuration

左邊的Jetty Webapp選擇添加

第一個標簽WebApp,按照自己項目的實際目錄填寫就好,默認是按照maven項目目錄規范來的,如果找不到,會報錯,run按鈕無法點擊

第三個標簽Options,Use Jetty at path ,選擇jetty解壓縮目錄就行,插件會自行檢測jetty版本

第五個標簽JRE,這里選擇的是jetty運行時的jre,需要選擇JDK的jre,alternate JRE選擇前面設置的就可以

這些都設置好了之後,應該就可以run了

常見的錯誤

1. no jsp support,用了這個插件,一般不會遇到這個問題,jetty默認啟動不支持jsp,需要配置,用了這個插件在Options標簽可以隨意選擇,這個問題就不是問題了(No JSP support. Check that JSP jars are in lib/jsp and that the JSP option has been specified to start.jar)

2. full jdk required,這個是JRE標簽里的jre/javaw,不是JDK里的,導致運行時出問題,這個可以通過console的輸出和console的標題來檢查(There is an error in invoking javac. A full JDK (not just JRE) is required)

3. ClassNotFound,這個問題有可能是因為缺少依賴的包,還有可能是因為你的Lib里jar太多了,比如混入了tomcat,jetty其它版本的jar,導致jetty初始化某些logger,servlet介面的時候,找的不是當前jetty里的實現,而是那些亂七八糟jar依賴的實現,然後找不到了。根據情況,先把亂七八糟的jar幹掉,然後在一點點添加。

熱點內容
編程培訓福州 發布:2024-07-27 12:28:06 瀏覽:876
哈弗h6女生適合哪個配置 發布:2024-07-27 12:10:52 瀏覽:954
memcached啟動腳本 發布:2024-07-27 11:55:41 瀏覽:558
電動車怎麼看配置 發布:2024-07-27 11:55:05 瀏覽:238
mfc打開默認文件夾 發布:2024-07-27 11:41:23 瀏覽:648
電腦找不到伺服器的原因 發布:2024-07-27 11:33:58 瀏覽:864
sql2005操作 發布:2024-07-27 11:33:19 瀏覽:437
安卓什麼app軟體可以代替藍牙 發布:2024-07-27 11:24:50 瀏覽:745
vb編譯運行 發布:2024-07-27 11:14:42 瀏覽:754
恆線速的演算法 發布:2024-07-27 10:45:46 瀏覽:759