linux java-jar怎么后臺(tái)運(yùn)行 開發(fā)java程序時(shí)為什么代碼沒(méi)錯(cuò)卻運(yùn)行不了?
開發(fā)java程序時(shí)為什么代碼沒(méi)錯(cuò)卻運(yùn)行不了?既然你沒(méi)有。;t給出代碼截圖,我可以 我不能直接為你分析問(wèn)題。但既然這個(gè)答案里沒(méi)有別人,我就簡(jiǎn)單幫你分析一下。一:環(huán)境問(wèn)題jdk配置不好,沒(méi)有導(dǎo)入需要的ja
開發(fā)java程序時(shí)為什么代碼沒(méi)錯(cuò)卻運(yùn)行不了?
既然你沒(méi)有。;t給出代碼截圖,我可以 我不能直接為你分析問(wèn)題。但既然這個(gè)答案里沒(méi)有別人,我就簡(jiǎn)單幫你分析一下。
一:環(huán)境問(wèn)題
jdk配置不好,沒(méi)有導(dǎo)入需要的jar文件,沒(méi)有啟動(dòng)運(yùn)行環(huán)境,IDE的設(shè)置問(wèn)題,或者系統(tǒng)存在一些未知的功能問(wèn)題,都可能導(dǎo)致這種情況。你說(shuō)的代碼是正確的。我不 不知道是代碼正確還是操作沒(méi)有錯(cuò)。如果代碼沒(méi)有問(wèn)題,優(yōu)先考慮這個(gè)原因。
第二:代碼問(wèn)題
如果正在運(yùn)行的進(jìn)程沒(méi)有 t報(bào)告一個(gè)錯(cuò)誤,但是它沒(méi)有。;t run,你要考慮代碼中是否存在邏輯錯(cuò)誤,因?yàn)槌嗣黠@的語(yǔ)法錯(cuò)誤,很多bug其實(shí)并不 t報(bào)告一個(gè)錯(cuò)誤,但最終他們可以 t呈現(xiàn)相應(yīng)的函數(shù)。
好像就這些了。希望能幫到你。
這個(gè)代碼是正確的。你能保證嗎?
我記得10多年前,當(dāng)我第一次加入公司時(shí),我在struts1的配置文件中將小寫的L寫成1,認(rèn)為代碼是正確的,但它就是不能;;不要跑。It s在后臺(tái)報(bào)錯(cuò)也很奇怪,但是根據(jù)后臺(tái)報(bào)錯(cuò),我知道了配置文件的問(wèn)題,所以我可以 當(dāng)我的經(jīng)理調(diào)試它的時(shí)候,我最終沒(méi)有找到它,我不能。;直到最后一行被刪除和排除,你才能找到它。
所以唐 不要輕易認(rèn)為代碼是正確的,這往往是代碼的問(wèn)題。除非你的代碼在其他人身上運(yùn)行。;的地方,那 這是一個(gè)環(huán)境問(wèn)題。
因?yàn)槟憬o的信息有點(diǎn)少,我大概會(huì)按照bug排查的大致思路來(lái)回答。
程序錯(cuò)誤一般分為兩種:編譯時(shí)錯(cuò)誤和運(yùn)行時(shí)錯(cuò)誤。
如果你現(xiàn)在用的是idea或者eclips
Dubbo框架的開發(fā)流程是怎么樣的?
杜博建筑簡(jiǎn)介
Dubbo經(jīng)常被拿來(lái)和SpringCloud微服務(wù)架構(gòu)相提并論,但實(shí)際上,他們關(guān)注的領(lǐng)域是非常不同的。Dubbo專注于服務(wù)治理,即服務(wù)注冊(cè)和更新、管理服務(wù)生命周期、定制服務(wù)遵從規(guī)則、確保服務(wù)一致性、服務(wù)監(jiān)控和服務(wù)調(diào)用。SpringCloud專注于整個(gè)微服務(wù)生態(tài)系統(tǒng)。除了服務(wù)治理,服務(wù)網(wǎng)關(guān)、分布式配置、服務(wù)跟蹤、消息總線、數(shù)據(jù)流和批處理任務(wù)都有很好的技術(shù)規(guī)范。可以看出,Dubbo可以作為SpringCloud生態(tài)系統(tǒng)的一部分與SpringCloud集成,提供服務(wù)治理支持。雖然功能沒(méi)有SpringCloud的整個(gè)生態(tài)完善,但是在服務(wù)治理方面,Dubbo有很多優(yōu)勢(shì):
1.支持更多協(xié)議,如rmi、hessian、http、webservic:
1.遠(yuǎn)程通信,它提供了基于長(zhǎng)連接的各種NIO框架的抽象封裝,包括各種線程模型、序列化和 "請(qǐng)求-響應(yīng) "信息交換。
2.集群容錯(cuò),提供基于接口方法的透明遠(yuǎn)程過(guò)程調(diào)用,包括多協(xié)議支持,以及軟負(fù)載均衡、故障容錯(cuò)、地址路由、動(dòng)態(tài)配置等集群支持。
3.自動(dòng)發(fā)現(xiàn),基于注冊(cè)中心的目錄服務(wù),使服務(wù)消費(fèi)者動(dòng)態(tài)找到服務(wù)提供者,使地址透明,使服務(wù)提供者平滑增減機(jī)器。
Dubbo架構(gòu)如下圖所示:
從上圖可以看出,Dubbo的服務(wù)調(diào)用過(guò)程如下:
1.服務(wù)提供者在服務(wù)注冊(cè)中心發(fā)布并注冊(cè)自己,以公開服務(wù)。
2.服務(wù)消費(fèi)者從服務(wù)注冊(cè)中心訂閱服務(wù)。
3.服務(wù)消費(fèi)者根據(jù)注冊(cè)中心獲得的服務(wù)進(jìn)行遠(yuǎn)程呼叫。
杜博當(dāng)?shù)匕l(fā)展環(huán)境的建設(shè)
對(duì)于Duoobo服務(wù)注冊(cè)中心的建設(shè),我們將使用Zookeeper作為實(shí)際的注冊(cè)中心進(jìn)行操作演練。
杜博項(xiàng)目建設(shè)
使用eclipse為服務(wù)提供商創(chuàng)建一個(gè)新的maven項(xiàng)目。這里創(chuàng)建了一個(gè)名為dubbo-provider的新項(xiàng)目,以提供一個(gè)根據(jù)用戶名返回用戶信息的簡(jiǎn)單示例:
1.首先介紹Dubbo和Zookeeper的依賴包。
創(chuàng)建一個(gè)新的服務(wù)提供者接口和一個(gè)具體的實(shí)現(xiàn)類,在eclipse下創(chuàng)建一個(gè)名為dubbo-provider的maven項(xiàng)目。
1.創(chuàng)建用戶信息查詢服務(wù)接口QueryUserInfoService,提供根據(jù)用戶名返回用戶信息的接口getUserInfo(字符串名)。
2.創(chuàng)建一個(gè)具體的實(shí)現(xiàn)類QueryUserInfoServiceImpl,根據(jù)用戶名返回一串用戶信息。
3.在resources文件夾中創(chuàng)建applicationProvider.xml配置服務(wù)類的相關(guān)信息,以注冊(cè)和公開服務(wù)。
4.創(chuàng)建服務(wù)注冊(cè)類:ServerMain讀取配置文件,在配置文件中注冊(cè)服務(wù),配置完成后啟動(dòng)這個(gè)類完成服務(wù)注冊(cè)。
配置監(jiān)控中心。如果我們需要監(jiān)視和查看我們自己的服務(wù),我們需要安裝Monitor服務(wù)。1.在Github上下載dubbo-admin項(xiàng)目后,修改目錄中的文件:
1)配置zk地址:
2)配置登錄用戶的root密碼:
2.在dubbo-admin目錄下構(gòu)建項(xiàng)目。
用maven命令打包:mvn clean package
3.通過(guò)以下兩種運(yùn)行dubbo-admin項(xiàng)目:
1)mvn-projects dubbo-admin-s:8080進(jìn)入監(jiān)控后臺(tái)頁(yè)面。
新的服務(wù)消費(fèi)者項(xiàng)目實(shí)現(xiàn)了服務(wù)提供者的服務(wù)消費(fèi),在eclipse下創(chuàng)建了名為dubbo-customer的maven項(xiàng)目。
1.引入或創(chuàng)建服務(wù)接口QueryUserInfoService類。
2.在resources文件夾中創(chuàng)建applicationContext.xml配置注冊(cè)表信息以獲取服務(wù)信息。
3.創(chuàng)建一個(gè)消費(fèi)者測(cè)試類QueryUserInfoService來(lái)調(diào)用該服務(wù)。