Java, mysql-connector a CLASSPATH

Vyvíjím prográmek v javě, který mi, doufám, konečně omezí počet souborů na disku serveru, neb zálohování 10M souborů už je o nervy. Už podle titulku je jasné, že cílem je dostat tyto soubory do DB a poté nad ní vytvořit aplikaci pro vyhledávání a kompletní zprávu. Při té příležitosti jsem si upgradoval mysql-connector.

Začali problémy. Původní mysql-driver „prostě fungoval“. Už nevím kam jsem ho nakopíroval, kde co změnil. Však to asi znáte. Když to funguje, nesahej na to. Po hodině laborování s CLASSPATH, kdy program prostě nenacházel Class.forName("com.mysql.jdbc.Driver").newInstance(); jsem mysql-connector-bin.jar prostě nakopíroval do C:\Program Files (x86)\Java\jdk1.6.0_02\jre\lib\ext\ a funguje to. Opět. Jenže tohle není moc přenosná metoda. Na linuxu to vyřeším podobně.

Kdyby někdo věděl, kam přesně umístit mysql-connector*.jar aby to bylo přenosné a systémové, byl bych velmi vděčný. Asi to bude vyložená kravina, kterou nevidím, způsobená víkendem.

Řešení

Použití parametru -jar ignoruje parametr -cp. Classpath se musí nastavit v manifestu příslušeného jar balíku. Druhá možnost je použití -cp se seznamem všech jar balíků a explicitně uvést startovací třídu s metodou Main.

Příspěvek byl publikován v rubrice Java, Programovací jazyky. Můžete si uložit jeho odkaz mezi své oblíbené záložky.