從Myeclipse轉戰IDEA中遇到的配置問題(javaweb)

寫在前面

之前一直用Myeclipse寫javaweb程序,但畢竟為了適應時代潮流(誤),并且IDEA從很多方面都很人性化,就把之前eclipse的項目放到IDEA里面跑了跑,發現了以前很多在Myeclipse傻瓜式的操作在IDEA中都要配置一下,雖然有點麻煩但確實讓我更好了解了javaweb項目的構造,下面主要羅列一些我遇到并解決的一些IDEA中的問題并給出一些我的理解。歡迎dalao補充或指出錯誤。

IDEA與Myeclipse寫javaweb的差別?

在放問題之前,我先簡單談一下idea與myeclipse區別,之前Myeclipse寫的時候很無腦,就知道個寫完后配個tomcat跑起來就行了,然后就主要關注于程序邏輯和設計了,一到IDEA傻眼了,不僅要配置artifacts還要手動配一下src什么的。所以對于初到IDEA的,建議著重注意一下這個project structure,他是配置過程中重點的東西:


image.png

好了廢話不多說,開始談問題。


紅色的j .....?

最簡單的例子,直接把myeclipse項目扔到idea,一看全沒錯,很開心(顯然不可能),運行一下index也跑出來了,可是一看javaweb文件其實全都打不開:

image.png

這是因為IDEA中你需要手動配置一下編譯路徑,把你的src源碼設置成Sources文件,然后編譯器才會開始編譯你的javaweb代碼,具體操作如下:

project structure -> Moduels ->點擊項目 ->選擇src文件夾 -> 點擊上方Mark as中的Sources

image.png

值得一提的是,這個路徑將會是你web.xml的根路徑,比如下方:

image.png

Ok后你會發現報了一大堆的導包錯,接下來就該你忙活了,在project structure 的libraries里導入之前Myeclipse在WEB_INF/lib下的外部包即可。(提示:可以直接導入文件夾,里面的jar包就都導入了)


Cannot resolve servlet.....?

在artifacts里要從Module中導出一個explode,然后把它扔到tomcat運行,具體詳見網上IDEA配置tomcat教程。但有的時候我們會在web.xml發現如下報錯:

Cannot resolve Servlet
Servlet should have a mapping-name

image.png

這種情況多時web.xml配置出錯,你需要在project設置里配置一下:

image.png

把它改成你的WEB_INF里的xml即可。

特別注意:.idea文件下面也有個web.xml,如果你覺得你配置好了卻還是這種錯,請注意你是不是把這個xml當成你Fact的xml了,請換成WEB_INF的xml。


Output directory is not specified ... ?

開始編譯javaweb文件了,臥槽,輸出路徑沒確定?IDEA不像Myeclipse會把輸出(編譯后的.class文件)扔到WEB_INF的classes文件夾,把可運行的web文件扔到tomcat下的WEBAPP文件夾中;IDEA需要在Project structure的project欄位設置一下輸出路徑:(圖略)

一般把輸出扔到項目目錄下的out文件夾中,可以看出artifacts就是當初myeclipse扔到tomcat/WEBAPP的網頁運行文件,而production里面是myeclipse扔到自己WEB_INF的classes里的文件。

image.png

可是有時候我設置完輸出路徑了啊,怎么還是未確定?這很有可能是你在project structure的artifacts有問題,建議你刪除當前的artifact,然后按正確重新導入,正常artifact的圖是這樣的:

image.png


總結

整個配置問題都是圍繞project structure展開的,總之有問題先從這里入手就OK了:p.(莫名其妙花了一個小時),謝謝。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,973評論 6 342
  • 下班回來每晚都是先帶閨女和姥姥姥爺視頻,相比之前,這周明顯又愛說了,主動喊姥姥姥爺,姐姐,還告訴姥爺她劉暢大姐在這...
    小窗幽記_hj閱讀 120評論 0 0
  • 作為第一篇在簡書寫的文章,這證明了我想人生有一個階段進發。 開篇,我需要檢討自己,其實在最近一段時間里...
    也牛閱讀 557評論 0 1