Eclipse “не может найти дескриптор библиотеки тегов” для пользовательских тегов (не JSTL!)

Я использую var, когда это возможно.

фактический тип локальной переменной не должен иметь значения , если Ваш код правильно написан (т.е. хорошие имена переменной, комментарии, четкая структура и т.д.)

61
задан vallismortis 9 February 2018 в 17:21
поделиться

4 ответа

It turns out that the cause was that this project wasn't being considered by Eclipse to actually be a Java EE project at all; it was an old project from 3.1, and the Eclipse 3.5 we are using now requires several "natures" to be set in the project configuration file.

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>InCode.inCodeNature</nature>
    <nature>org.eclipse.dltk.javascript.core.nature</nature>
    <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>

I was able to find the cause by creating a new "Dynamic Web Project" which properly read its JSP files, and diffing against the config of the older project.

The only way I could find to add these was by editing the .project file, but after re-opening the project, everything magically worked. The settings referenced by pribeiro, above, weren't necessary since the project already conformed to the default settings.

Both pribeiro and nitind's answers gave me ideas to jumpstart my search, thanks.

Is there a way of editing these "natures" from within the UI?

10
ответ дан 24 November 2019 в 17:21
поделиться

Многое зависит от того, что это за проект. Поддержка JSP WTP либо предполагает, что файлы JSP будут находиться в той же папке, которая является родительской для папки WEB-INF (src / web, которая затем будет обрабатываться как «/» для поиска TLD), либо иметь метаданные проекта, настроенные для Помогите ему узнать, где находится этот корень (сделано для вас в динамическом веб-проекте через сборку развертывания). Как вы имеете в виду файл TLD и где находится файл JSP?

И, возможно, я пропустил исходное сообщение на форумах Eclipse; тот, что я видел, был опубликован на целый день после этого.

3
ответ дан 24 November 2019 в 17:21
поделиться

Сегодня я исправил эту проблему.

  • Измените выходной каталог на папку WEB-INF / classes. (Проект / Свойства / Путь сборки Java, Выходная папка по умолчанию)
  • Назначьте зависимости модуля. (Project / Properties / Java EE Module Dependencies) они будут скопированы в папку WEB-INF / lib, где Eclipse также ищет определения тегов lib.

Надеюсь, это поможет.

3
ответ дан 24 November 2019 в 17:21
поделиться

У меня была такая же проблема с MyEclipse и Eclipse 6.6.0. Он красным цветом выровнил значение uri в каждом

<%@ taglib prefix="s" uri="/struts-tags"%>. Я исправил это, перейдя в «Project/MyEclipse/Web/Tag Libraries» и установив префикс TLD по умолчанию для тегов Struts 1.2 Tiles на 's'. Мне также пришлось сделать то же самое в разделе «Проект/MyEclipse/Web/Настройка параметров рабочей области.../Библиотеки тегов».

0
ответ дан 24 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: