Zaktualizowałem do Netbeans 8.0.1 z wersji 7.0.1, a mój program java kompiluje dobrze, jeśli "Web Start" jest wyłączony. Jak najszybciej 'Web Start' jest włączona pojawia się następujący błąd:Błąd "Nieobsługiwany element budowania Netbeans"
C:\NetBeansProjects\SearchCriteriaEditor\nbproject\jnlp-impl.xml:480:
unsupported element customize
w tej sekcji pliku jnlp-impl.xml:
<target name="-do-jar-jnlp-application" depends="-init-filename,-test-jnlp-type,-init-macrodef-copylibs" if="is.application+mkdist.available"> <j2seproject3:copylibs manifest="${tmp.manifest.file}"> <customize> <attribute name="Main-Class" value="${main.class}"/> </customize> </j2seproject3:copylibs> <echo>To run this application from the command line without Ant, try:</echo> <property location="${jnlp.dest.dir}/${jnlp.file}" name="jnlp.file.resolved"/> <echo>javaws "${jnlp.file.resolved}"</echo> </target>
The Napraw to, jak rozumiem, to: "dodaj następujące elementy do dostosowanej definicji makra junit:"
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<customize/>
Problem polega na tym, że nie mam pojęcia, gdzie to jest, ani też nie zmodyfikowałem pliku mrówki w żaden sposób ... czy ktoś może podać mi trochę więcej informacji? Zakładam, że poprawka trafia gdzieś w pliku jnlp-impl.xml; Po prostu nie mam pojęcia, gdzie to powiedzieć.
Edit zmiana: dodaje wszystkie sekcje z odniesieniami do 'copylibs' w jnlp-impl.xml Plik-
<target name="-test-jnlp-type" depends="-test-jnlp-enabled" if="is.jnlp.enabled">
<condition property="is.applet">
<equals arg1="${jnlp.descriptor}" arg2="applet" trim="true"/>
</condition>
<condition property="is.application">
<equals arg1="${jnlp.descriptor}" arg2="application" trim="true"/>
</condition>
<condition property="is.component">
<equals arg1="${jnlp.descriptor}" arg2="component" trim="true"/>
</condition>
<condition property="is.applet+mkdist.available">
<and>
<isset property="libs.CopyLibs.classpath"/>
<istrue value="${is.applet}"/>
</and>
</condition>
<condition property="is.application+mkdist.available">
<and>
<isset property="libs.CopyLibs.classpath"/>
<istrue value="${is.application}"/>
</and>
</condition>
<condition property="is.component+mkdist.available">
<and>
<isset property="libs.CopyLibs.classpath"/>
<istrue value="${is.component}"/>
</and>
</condition>
</target>
......
<target name="-do-jar-jnlp-application" depends="-init-filename,-test-jnlp-type,-init-macrodef-copylibs" if="is.application+mkdist.available">
<j2seproject3:copylibs manifest="${tmp.manifest.file}">
<customize>
<attribute name="Main-Class" value="${main.class}"/>
</customize>
</j2seproject3:copylibs>
<echo>To run this application from the command line without Ant, try:</echo>
<property location="${jnlp.dest.dir}/${jnlp.file}" name="jnlp.file.resolved"/>
<echo>javaws "${jnlp.file.resolved}"</echo>
</target>
<target name="-do-jar-jnlp-component" depends="-test-jnlp-type,-init-macrodef-copylibs" if="is.component+mkdist.available">
<j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
</target>
góry dziękuję.
Hi manouti, przepraszam za ból .. Nie ma macrodef dla copylibs. Dodałem wszystkie odniesienia do copylibs w pliku nlp-impl.xml do pierwotnego pytania. Czy muszę dodać to do pliku? – Robbie62
@ Robbie62 Na pewno istnieje gdzieś definicja 'copylibs'. Czy może być w innym pliku budowy Ant, zaimportowanym przez 'jnlp-impl.xml'? – manouti
Hi manouti, tak, istnieje inny plik kompilacji, o którym całkowicie zapomniałem. W tej chwili robię wyzwanie startowe Google, więc nie będę mógł wrócić do niego przez kilka dni. – Robbie62