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.