Oggi ho avuto un problemino con NetBeans (versione 8.2): un progetto non mi associava correttamente le librerie; addirittura la stessa libreria (log4j) era associata 2 volte (e un’associazione non veniva riconosciuta correttamente).
Ho scoperto (e risolto) l’arcano trovando come NetBeans memorizza le informazioni sulle librerie e come queste sono associate al progetto.
Nella cartella “~/.netbeans/8.2/config/org-netbeans-api-project-libraries/Libraries/
” ci sono i file XML in cui sono definite le liberie; in ogni file è specificato il nome visualizzato (display-name
, quello che si può cambiare dal menù Tools → Libraries) ed il nome interno usato dall’IDE (name
), che una volta impostato alla creazione della libreria non si può più cambiare (è per sempre come un diamante):
<?xml version="1.0" encoding="UTF-8"?>
<library xmlns="http://www.netbeans.org/ns/library-declaration/3" version="3.0">
<name>Log4J-1.2.16</name>
<type>j2se</type>
<display-name>Log4J-1.2.16</display-name>
<volume>
<type>classpath</type>
<resource>jar:file:/home/andrea/Progetti/LIBS/Log4J-1.2.16/log4j-1.2.16.jar!/</resource>
</volume>
<volume>
<type>src</type>
</volume>
<volume>
<type>javadoc</type>
</volume>
<volume>
<type>maven-pom</type>
</volume>
<properties/>
</library>
Ho scoperto che i due nomi erano disallineati, in particolare il nome interno di una libreria era quello dell’altra. Probabilmente ho fatto casini quando ho ri-creato il profilo cambiando più volte i nomi.
Per risolvere tutti i problemi ho inserito il nome corretto nei file XML delle librerie e cambiato i riferimenti nel file “~/.netbeans/8.2/build.properties
“.