Komponenty złożone w zewnętrznym pliku JAR nie są rozpoznawane w Netbeans
W JAR spakowałem wiele elementów kompozytowych. Jednak, gdy używasz ich w innym projekcie (używając Maven), edytor Netbeans umieszcza czerwone linie błędów w liniach, które używają komponentu złożonego, nawet jeśli projekt kompiluje się i działa zgodnie z oczekiwaniami.
Struktura folderów komponentu JAR wygląda następująco:
compositeComponent.jar
META-INF
faces-config.xml
highcharts-taglib.xml
MANIFEST.MF
web.xml
maven
// maven stuff.
resources
highcharts
Chart.xhtml
Series.xhtml
Tooltip.xml
nz
co
kevindoran
highcharts
example
NZPopulationTrend.class
Thehighcharts.taglib.xml
wygląda jak:
<facelet-taglib version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd">
<namespace>http://nz.co.kevindoran/highcharts-jsf</namespace>
<composite-library-name>highcharts</composite-library-name>
</facelet-taglib>
[Uwaga dodatkowa: Thefaces-config.xml
iweb.xml
są obecne, aby umożliwić wdrożenie „JAR” jako WAR poprzez zmianę rozszerzenia pliku na WAR (ma to na celu uruchomienie przykładów).]
W moim obecnym projekcie określiłem zależność Maven od powyższego projektu w następujący sposób:
<dependency>
<groupId>nz.co.kevindoran</groupId>
<artifactId>jsf-menu</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Na stronie JSF używam takich komponentów kompozytowych jak:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:hc="http://nz.co.kevindoran/highcharts-jsf">
....
<hc:TimeChart title="Price Over Time" xLabel="Date" yLabel="Sold Price (NZD)">
<hc:TimeSeries name="Sold" series="#{cc.attrs.model.priceVsTimeChart.soldSeries}"/>
</hc:TimeChart>
....
</html>
Pod wszystkimi liniami powyżej pojawiają się czerwone linie błędów z komunikatem: „Nie znaleziono biblioteki dla przestrzeni nazwhttp: //nz.co.kevindoran/highcharts-jsf"
Jak usunąć te linie błędów? Widziałem wiele raportów o błędach Netbeans dla podobnych problemów, ale wszystkie wydają się rozwiązane.
Ten błąd występuje w Netbeans 7.1, 7.2 i 7.3 (w tym 7.3.1).