Ответ 1
Лучше всего пройти через Adobe Daycare. Они очень хороши в получении патчей. Особенно, если у вашего клиента есть существующие отношения с ними, которые они должны, если они используют AEM.
Alright StackOverflow, я приду к вам в нужное время.
Я унаследовал проект с помощью специальной библиотеки тегов. Проект находится в AEM, но проблема скорее связана с прямой Java-частью вещей и не имеет ничего общего с AEM, о котором я знаю. AEM построена на OSGI, так что это может быть связано, но опять-таки это вряд ли будет частью ответа.
По сути, я получаю исключение только на одном из двух серверов. В нем говорится:
org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Файл "/META-INF/tags/helloWorld.tagx" не найден
Теперь - это helloWorld.tagx
- это вид мусора, оставленного в проекте шаблона, но по какой-то причине он необходим. Здесь есть несколько вопросов.
META-INF/tags/helloWorld.tagx
), и я использую jsptld-maven-plugin
для создания файла tld
, который выглядит корректно для меня.Конфигурация плагина (а также maven-bundle-plugin
):
<plugin>
<groupId>com.squeakysand.jsp</groupId>
<artifactId>jsptld-maven-plugin</artifactId>
<configuration>
<shortName>myproject</shortName>
<processTagFiles>true</processTagFiles>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Activator>com.rebny.taglib.osgi.Activator</Bundle-Activator>
<Include-Resource>
META-INF/${project.artifactId}-${project.version}.tld=${project.build.outputDirectory}/META-INF/${project.artifactId}-${project.version}.tld,
{maven-resources}
</Include-Resource>
<Sling-Bundle-Resources>
/META-INF/tags
</Sling-Bundle-Resources>
</instructions>
</configuration>
</plugin>
И сегмент из полученного tld файла:
<tag-file>
<name>helloWorld</name>
<path>/META-INF/tags/helloWorld.tagx</path>
</tag-file>
Так что это выглядит хорошо для меня, и я много раз искал и нашел людей с синтаксическими ошибками и т.д., но я не считаю, что это имеет место здесь, тем более, что он работает на одном сервере.
Я рад предоставить другую информацию. Мои знания об этом довольно бедны, поэтому я не совсем уверен, какая информация актуальна. Любая помощь или советы по устранению неполадок очень приветствуются!
Полная трассировка стека здесь
Лучше всего пройти через Adobe Daycare. Они очень хороши в получении патчей. Особенно, если у вашего клиента есть существующие отношения с ними, которые они должны, если они используют AEM.
Проблема связана с Файлы сценариев не найдены. Ссылка.
Это ошибка, которая гласит: если taglib в пакете ссылается на тег, реализованный как script (located in /META-INF/tags)
, этот script не найден, поскольку он не в пределах пакета, содержащего tld
. Он скорее используется как ресурс в classpath.
Исправлена ошибка в версии JSP 2.3.2. Поэтому используйте эту версию JSP в своем проекте. Более того, эта ошибка была бы исправлена в AEM 6.3.1.1 или выше,
Здесь полезен thread, связанный с этой проблемой.