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
“.