2016-07-22 52 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