ecplise使用jetty啟動maven項目java.lang.ClassNotFoundException__jetty

來源:互聯網
上載者:User

錯誤情境:

ecplise(oxygen)使用jetty啟動manven多模組項目,項目編譯通過、install也正常但是在啟動時出現java.lang.ClassNotFoundException,無法找到依賴的子模組項目,例如

project(maven項目)

-moduleA(jar)

-model

-dao

-moduleB(jar)

.....

-moduleC(web)


在A、B項目模組都colse時,moduleC可以通過jetty正常啟動,當A、B項目處於開啟的條件下,啟動C會出現如下異常

java.lang.ClassNotFoundException: com.*********.support.security.interceptor.AddResponseInterceptorat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:487)at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428)at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)

無論重新打包或是clean、install或是maven的update,都無解。


解決辦法:

在出現異常的情況的可右擊項目debug as -> debug configurations 開啟後找到


此時你會發現引入模組的所有的classes檔案夾都是灰色,此時異常就明了了,說明class檔案在jetty啟動時都沒有找到。原因已找到,解決辦法就簡單了,選擇第一個classes讓其變為如下樣式,發現所有的classes檔案都顯示成了黑色


再次啟動jetty。OK


DONE.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.