2016-07-22 18 views
-1

今天,我用IntelliJ 2016.2和原型pom-rootapache-struts2-starter從頭創建了一個新的Maven多模塊項目。我一直在用瓦片來研究幾個Struts 2項目,所以我知道struts 2文件集,框架的自動檢測等。IntelliJ不檢測struts 2和磁貼,不能創建文件集

這個新項目的奇怪現象:IntelliJ沒有檢測到任何東西。我正在等待這個小小的彈出窗口,裏面寫着「Struts 2檢測到,配置」,我可以在哪裏創建一個帶有所有struts xml文件的文件集,但沒有任何反應。此外,我無法在設置中的構面窗口中創建文件集。如果我嘗試,則不顯示要添加的文件。另一方面,IntelliJ確實向我展示了Struts 2方面,但我無法在IntelliJ中正確配置它。我不明白爲什麼它適用於另一個項目,但不適用於這個新項目。所以我無法從一個tile結果跳轉到它的定義,或者從一個使用struts:action的JSP跳轉到它的動作定義struts.xml ...

我可以完美地構建和運行項目,但爲什麼IntelliJ不配置它?

+0

'struts.xml'的位置在哪裏? –

+0

通常的默認位置'src/resources'。 – Vortilion

+0

錯誤的位置。 –

回答

0

似乎問題與我的struts.xml中的文檔類型(更確切地說:dtd)有關。通常它是像

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

但是,因爲我選擇了最新的Struts-2版本,這個新項目,我認爲它具有對應於支柱的是

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

-version 2.5.2(一般問題:我怎麼知道我必須使用哪種doctype?)。似乎Ijntellij-Struts-Plugin沒有「識別」這個DTD版本(儘管它確實存在,參見http://struts.apache.org/dtds/)。如果我將其更改爲2.3或2.1,則會立即出現小型彈出窗口「未配置文件集」。很奇怪。

+0

更新:顯然,這不是DTD-URL,但在DOCTYPE的第一個版本: 它必須是 ' - // Apache軟件基金會// DTD Struts配置2.3 // EN' 代替 ' - // Apache Software Foundation // DTD Struts Configuration 2.5 // EN' 我不知道爲什麼, – Vortilion

+0

儘管我無法正確配置文件集,但仍然有問題。它只顯示我的struts.xml,但不是來自lib(struts-default.xml,struts-plugin.xml)的... Intellij仍然不會讓我跳進'extends =「struts-默認的''在包定義或跳轉到我引用作爲一個行動結果的JSP。我不明白Intellij如何配置這個不同於另一個我正在開發的較老的項目,其中所有引用都是可點擊的。 – Vortilion