W porządku StackOverflow, przychodzę do Ciebie w potrzebie.Wyjątek JasperException - nie można odnaleźć pliku nawet przy obecnym tagu.
Odziedziczyłem projekt z niestandardową biblioteką znaczników. Projekt jest w AEM, ale problem jest bardziej związany z prostą stroną Java i nie jest niczym szczególnym dla AEM, o którym mi wiadomo. AEM jest zbudowany na OSGI, dzięki czemu może być powiązany z, ale jest to raczej mało prawdopodobne, aby być częścią odpowiedzi.
Zasadniczo otrzymuję wyjątek tylko na jednym z dwóch serwerów. Mówi:
org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Plik "/META-INF/tags/helloWorld.tagx" nie znaleziono
Teraz - ten helloWorld.tagx
jest rodzajem śmieci pozostałej z projektu szablonu, ale z jakiegoś powodu jest to niezbędne. Jest tu kilka problemów.
- Znacznik jest we właściwym miejscu (
META-INF/tags/helloWorld.tagx
) i używamjsptld-maven-plugin
wygenerować pliktld
który wygląda poprawna do mnie.
konfiguracja dla wtyczki (jak również 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>
a segment z wynikowego pliku tld:
<tag-file>
<name>helloWorld</name>
<path>/META-INF/tags/helloWorld.tagx</path>
</tag-file>
więc wygląda dobrze do mnie, a Zrobiłem wiele wyszukiwań i znalazłem ludzi z błędami składni itp., Ale nie sądzę, aby tak było w tym przypadku, zwłaszcza, że działa on na jednym serwerze.
- Dziwną częścią jest tag nie jest w rzeczywistości używany w dowolnym miejscu, ale usunięcie go nie rozwiązuje problemu. JSP rzucający ten błąd używa innych znaczników, ale nie tego. W całym projekcie nie ma dosłownie żadnych odniesień do tego znacznika - myślę, że może to być ukrywanie kolejnego problemu. Błąd mówi, że jest on na linii 6 strony JSP, ale ani źródłowa strona JSP, ani skompilowana strona JSP nie mają nic interesującego w linii 6 lub w ogóle w pliku. Znowu nawet skompilowane strony JSP nie mają odniesienia do tego znacznika!
Chętnie udzielę innych informacji. Moja wiedza na ten temat jest dość słaba, więc nie jestem do końca pewien, jakie informacje są istotne. Każda pomoc lub wskazówki dotyczące rozwiązywania problemów są bardzo cenne!
Pełny stos ślad here
Czym różnią się te dwie maszyny? na przykład ta sama wersja wszystkiego, to samo oprogramowanie, itp.? – mikep
pełny stacktrace byłby pomocny –
Który serwer aplikacji/kontener używasz? Czy możesz podać listę plików zawartych w WEB-INF/lib? A co z TLD w web.xml - czy możesz podać web.xml? BTW: Zakładam, że twoja kompilacja ma prostą konstrukcję maven, bez wyłupywania, przepakowywania. –