windows - Java fejl - kan ikke finde bibliotek i java.library.path?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg får en fejlmeddelelse som denne:



  Biblioteket biblioteknavn .dll kunne ikke indlæses af Windows. Lave
  sikker på at biblioteket er i dig Sti miljø variabel. Undtagelse
  i tråd 'main' java.lang.UnsatifiedLinkError: nej bibliotekskode i
  java.library.path.



Denne fejl er fra mig at forsøge at køre en jar-fil på Windows XP via cmd. Jeg undrer mig over, hvor er java.library.path? Jeg har allerede tilføjet C: \ Program Files \ Java \ jdk1.6.0\_26 til min PATH, men det giver mig stadig fejlen. Hvordan ville du gå til debugging dette?


Tak.

Bedste reference


Du kan simpelthen sende java.library.path som en systemegenskab som vist nedenfor:


java -Djava.library.path=<path\_to\_dll> <main\_class>


Først skal du finde ud af, hvor bibliotekets navn.dll er og tilføj det ovenfor i 'path\_to\_dll'.

Andre referencer 1


Fejlen siger stort set, at den ikke kan finde dine indbyggede biblioteker. Java forsøger at finde dit bibliotek ved at kigge på java.library.path ejendom


Det er et systemmiljø, du har brug for, så Java kan finde dine native biblioteker, når du kører din ansøgning. Flere måder at gøre det på:



  • Brug java -Djava.library.path=[[sti til dit bibliotek]], når du kører dit program

  • Fra koden kan du også gøre.


    
    System.setProperty( "java.library.path", "/path/to/libs" );
    

  • Indstil det fra din IDE. Et eksempel på Eclipse findes i dette SO-spørgsmål Sådan indstilles java.library.path fra eclipse



EDIT: En god kommentar nedenfor pegede på, at # 2 ikke vil fungere 100\%, fordi du måske ikke angiver dette før du ringer getProperty (). Manglede det punkt og tak for at pege på det.