今天,我从头开始使用IntelliJ 2016.2和原型pom-root
和apache-struts2-starter
创建了一个新的Maven多模块项目。我一直在研究几个带有tile的Struts 2项目,所以我知道struts 2文件集,框架的自动检测等。
这个新项目现在很奇怪:IntelliJ没有检测到任何东西。我正在等待这个小小的弹出窗口,它说" Struts 2检测到,配置"我可以用所有struts xml文件创建一个文件集,但没有任何反应。此外,我无法在设置的构面窗口中自行创建文件集。如果我尝试,则不显示要添加的文件。
另一方面,IntelliJ确实向我展示了Struts 2方面,但我无法在IntelliJ中正确配置它。我不明白为什么它适用于另一个项目,但不适用于这个新项目。所以我无法从一个tile结果跳转到它的定义,或者从一个带有struts的JSP跳转到struts.xml
中的动作定义......
我可以完美地构建和运行项目,但为什么IntelliJ没有配置它?
答案 0 :(得分:1)
似乎问题与我的struts.xml中的doctype(更确切地说是:dtd)有关。通常它就像
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
但是,因为我为这个新项目选择了最新的Struts-2-Version,我认为它有
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
对应于struts-version 2.5.2(一般问题:我怎么知道我必须使用哪种doctype?)。似乎Ijntellij-Struts-Plugin并没有认识到&#34;这个DTD版本(虽然确实存在,但请参阅http://struts.apache.org/dtds/)。如果我将其更改为2.3或2.1,则会弹出一个小弹出窗口&#34;没有配置文件集&#34;马上出现。很奇怪。