JAR 中的资源未在 IntelliJ 中正确解析

Posted

技术标签:

【中文标题】JAR 中的资源未在 IntelliJ 中正确解析【英文标题】:Resources in JAR not properly resolved within IntelliJ 【发布时间】:2013-03-28 07:25:53 【问题描述】:

我有一个 freemarker ftl 模板文件,它包含在 IntelliJ 项目中的标记库中。问题是 JspTaglibs 没有在 IntelliJ 中解决。该错误突出显示文本JspTaglibs,错误消息为“无法解析变量'JspTaglibs'”。文件内容如下:

<#assign page=JspTaglibs["/WEB-INF/taglibs/sitemesh-page.tld"]>
<#assign decorator=JspTaglibs["/WEB-INF/taglibs/sitemesh-decorator.tld"]>
<#assign security=JspTaglibs["/WEB-INF/taglibs/security.tld"]>

这是一个导入的 Maven 项目。包含的 ftl 位于已编译的 JAR 文件中,我将其作为内容根包含在 Web 模块中。

关于解决“JspTaglibs”以便可以为 Freemarker 标签启用自动完成和验证的任何想法?

【问题讨论】:

module dependencies 中是否有此 JAR 文件? 是的。其他变量也因此得到解决。 请在youtrack.jetbrains.com/issues/IDEA 提交一个错误,并附上一个示例项目来重现。 我会的,但由于我对 IntelliJ、Maven 和 Java 还很陌生,可能需要一段时间才能了解。 把它作为答案发布,以便其他人可以找到它。 【参考方案1】:

事实证明,解决方案是将资源文件夹添加为库中的源目录,而不是作为模块中的内容根目录。 JAR 一直在库中,作为依赖项包含,但需要将特定目录添加为源文件夹。

【讨论】:

以上是关于JAR 中的资源未在 IntelliJ 中正确解析的主要内容,如果未能解决你的问题,请参考以下文章

TwirlKeys.templateImports with Play 未在 IntelliJ IDEA 模板文件中解析

Intellij IDEA 未在 Kotlin 文件中显示有关 android 资源的可用建议

将 JAR 添加到 IntelliJ 中的 WEB-INF/lib 目录的正确过程是啥

Omnifaces CDN 资源处理程序中的 EL 表达式未在 Wildfly 9 中解析

Intellij 2016 - .class 文件未在项目模式下隐藏

将外部 jars (lib/*.jar) 添加到 IntelliJ IDEA 项目的正确方法