(CS) Libraries v J2SE projektu


Czech flag V minulosti jsem několikrát řešil problém spojený s přesunutím mého vlastního J2SE projektu z jednoho počítače na druhý. Komplikace nastávají u projektů, které používají knihovny (libraries). Někdy jsem byl opravdu hodně vyvedený z míry při otevírání projektu obsahujícího Matisse formuláře. Takové formuláře totiž potřebují a závisí na .jar souboru swing-layout-1.0.1.jar. Bohužel tento .jar file není součástí JDK<6 takže tato knihovna byla vždy použita z NetBeans IDE podadresáře. To zajišťuje soubor projektu nbproject/project.properties. V něm je taková knihovna definována jako relativní cesta k příslušnému .jar souboru. Řádka s takovou definicí může například vypadat takto:
libs.swing-layout.classpath=../../../../space/60/netbeans/platform7/modules/ext/swing-layout-1.0.1.jar

Většinou jsem takovou závislost řešil vygenerováním nějaké nové instance JFrame Form, kterou jsem okamžitě smazal. Za pomocí tohoto triku se do projektu totiž přidá další swing-layout knihovna (pocházející z právě používaného NetBeans IDE).
Příklad uvedený výše lze zevšeobecnit na následující případ.Představme si, že projekt potřebuje nejaký .jar soubor umístěný kdekoli na harddisku. Na tento případ nelze použít fintu uvedenou výše. To proto, že není zajištěna přítomnost této knihovny na našem druhém počítači (přesouváme přeci projekt z počítače A na počítač B). Jediná cesta vedoucí k řešení je přidat nějak potřebnou knihovnu do projektového adresáře. Tento adresář je totiž to jediné, co se chystáme zkopírovat z počítače A do počítače B.
Já osobně pro toto řešení používám následující řešení:
Nejprve si představme, že máme projekt PRJ, který pořebuje použít knihovnu LIB.jar
1.Vytvoříme adresář PRJ/lib (není samozřejmě nutné aby se jmenoval 'lib')
2.Zkopírujeme LIB.jar do PRJ/lib
3.V Project Properties vybereme Libraries
4.Stisknutím Add JAR/Folder tláčítka přidáme PRJ/lib/LIB.jar jako library do projektu

Na tento koncept jsem si docela zvykl a myslím, že by vám mohl pomoci vyřešit obdobné situace při používání NetBeans IDE.
Comments:

Já v tom nevidím moc dobré řešení, to pak u každého projektu mám spoustu knihoven a je složité je udžovat a aktulizovat je. Ale daleko větší problém je to, že Netbeans, na rozdíl snad od všech ostatní IDE, neumí k takto přidaným jar knihovnám přidat referenci na zdrojové kódy a javadoc. Jediná cesta je přes "Library manager". Já mám všechny knihovny v jendom adresáři, mám je nakonfigurované v library manageru a v případě pořeby přenosu projektů na jiné PC přenáším i tuto složku :-(

Lepší řešení by byl Maven, ale ten je v Netbeans zatím taky hodně slabý. Kdybych si všechny závislosti na knihovnách nastavil přes Maven, tak to bude fungovat všude. Ale musel by disponovat prohlížečem Maven repozitáře, musel by umět stahovat i zdrojové kódy, ze kterých by pak zobrazoval javadoc.

Něco málo anglicky:

Problem is, that you can't add reference to source code or javadoc for jar added directly to project in Netbeans. For example in InelliJ IDEA is this easy. Only way is use Library Manager.

Posted by Tomáš Procházka on únor 26, 2007 at 07:34 dop. CET #

Post a Comment:
  • HTML Syntax: NOT allowed
About

jara

Search

Archives
« duben 2014
PoÚtStČtSoNe
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today