天天看點

windows中java指令行執行

  • java -classpath C:\Users\Administrator\Desktop\jsp-springboot-demo.jar; com.mei.JspSpringBootDemo
  • java -classpath .;C:\Users\Administrator\Desktop\jsp-springboot-demo.jar; com.mei.JspSpringBootDemo
windows中java指令行執行

位元組碼一個打包,一個不打包,都加載到jvm中。

打包的jar編譯級别java12,未打包的是java1.8

發現,jvm一旦加載一個類,重複的類不會再加載。

  • 第一次執行由于用戶端是java8,打包的jar是java12,報錯
  • 第二次執行,優先加載目前目錄的位元組碼,是以未報錯。

jar包沖突,隻要是其它依賴該包的類,由于兩個名稱相同,但是版本或實作不同。jvm隻會加載其中的一個。若依賴該類,使用的是另外一個,但是該實作,沒有相應的成員,就會報錯,類的方法不存在異常,一般spring ioc,執行個體化bean時,就會報錯,無法啟動。