Classpath a zástupné znaky

Jednou z novinek verze 6.0 jazyka Java jsou zástupné znaky (classpath wildcards), po kterých programátoři volali už dlouho. Můžete prostě tohle:

java -cp "lib/*" com.mypackage.MyApplication

Jelikož classpath může obsahovat normální lomítka i na Windows, je toto platné i pro tento operační systém. Všimněte si uvozovek kolem classpath, jsou potřeba, jinak by došlo k expanzi hvězdičky. Ta se chová ovšem trošku jinak, než byste čekali:

  • Hvězdička funguje jen na *.jar a *.JAR soubory. Ostatní (např. class) jsou ignorovány.
  • Podadresáře nejsou rekurzivně prohledávány.
  • Pořadí není zaručeno, programy by však neměly být náchylné k chybám, pakliže jsou knihovny v různém pořadí.
  • Expanze proběhne již před spuštěním programu, nikoliv až během načítání.
  • Expanze funguje také v systémové proměnné CLASSPATH, ale nikoliv v manifest souborech

Diskuze

If you can't read the letters on the image, download this .wav file to get them read to you.
pridej.cz
blog/classpath_a_zastupne_znaky.txt · Poslední úprava: 29.05.2008 09:04 (external edit)
Creative Commons License Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0