Portál AbcLinuxu, 2. června 2024 20:59


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
14.10.2007 10:44 Marián André | skóre: 10 | blog: Qblog
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Odpovědět | Sbalit | Link | Blokovat | Admin
V rámci projektu zvyknem vytvárať podadresár lib a pri spúšťaní sa na neho odkazovať:

java -cp .:lib/mysql-connector-java-5.1.5-bin.jar:lib/inyjar.jar

atď.

Pod Windows väčšinou ako:

java -cp .;lib/mysql-connector-java-5.1.5-bin.jar;lib/inyjar.jar
O mne.
14.10.2007 10:49 Marián André | skóre: 10 | blog: Qblog
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
A v nedeľu sa tiež nemajú písať komentáre, alebo by si ich mal autor pred odoslaním aspoň raz po sebe prečítať. Samozrejme, na konci chýba názov triedy alebo tri bodky.
Heron avatar 14.10.2007 10:53 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Presne tohle prave nefunguje. Vubec nevim proc.
java -jar mail.jar -cp .;lib/mysql-connector-java-5.0.8-bin.jar
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
14.10.2007 11:06 Marián André | skóre: 10 | blog: Qblog
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Na toto si viem predstaviť dve riešenia:

1. Spraviť z príslušného jar extension pomocou manifestu (obdoba toho kopírovania v spote), teda pridať do manifestu nasledujúci kľúč:

Class-Path: lib/mysql-connector-java-5.0.8-bin.jar

java -jar mail.jar

2. Pridať mail.jar do classpath a spúšťat to explicitným uvedením hlavnej triedy:

java -cp .;lib/mysql-connector-java-5.0.8-bin.jar;mail.jar HlavnaTrieda
Heron avatar 14.10.2007 12:24 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Díky moc. Druhá možnost funguje. -jar ingoruje -cp. Přepíšu manifest a bude to jak předtím.
14.10.2007 11:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Presne tohle prave nefunguje. Vubec nevim proc.
java -jar mail.jar -cp .;lib/mysql-connector-java-5.0.8-bin.jar
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
V tom případě se podívejte do toho souboru mysql-connector-java-5.0.8-bin.jar (např. unzip). Nejspíš je to jen distribuční balíček (rafinovaně s koncovkou .jar místo .zip), který v sobě obsahuje nápovědu, licenci atd. a mimo jiné taky kýžený balíček mysql-connector-java-5.0.8.jar.
Heron avatar 14.10.2007 12:28 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Distribuční balíček to není, je to přímo jar.
15.10.2007 08:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
To je tedy to jarko krásně pojmenovaný :-( Hlavně, že už se to vyřešilo.
Heron avatar 15.10.2007 17:12 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Druhá verse je debug :-).
14.10.2007 11:09 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Aha, a ještě jedna záludnost. -jar má přednost před -cp – pokud použijete -jar, vezme se classpath, která je uvedená v manifestu toho jar a classpath uvedená na příkazové řádce se ignoruje. Je to potřeba spustit příkazem
java -cp .:lib/mysql-connector-java-5.0.8-bin.jar:mail.jar balicek.a.Trida
Poslední parametr je hlavní třída, je taky uvedená v manifestu v mail.jar. Na Linuxu se jako oddělovač cesty používá dvojtečka, ne středník.
14.10.2007 11:38 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Přesně tak.
-jar
..
When you use this option, the JAR file is the source of all user
classes, and other user class path settings are ignored.
14.10.2007 11:27 Petr Masopust | skóre: 14
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Podle me bude stacit prehodit parametry:

java -cp .;lib/mysql-connector-java-5.0.8-bin.jar -jar mail.jar

Btw classpath . je v tomhle pripade zbytecna.
Heron avatar 14.10.2007 12:29 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Přehození nefunguje. Ale už je to vyřešeno, po obědě aktualizuji zápisek o řešení.
14.10.2007 10:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Odpovědět | Sbalit | Link | Blokovat | Admin
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
Správný postup je jít na to z opačného konce. mysql.connector.jar umístíte kam je libo (resp. kam by asi tak patřil v struktuře adresářů, kterou používáte), a pak sdělíte aplikaci, kde ten soubor je. Buď jí spouštíte z příkazového řádku rovnou příkazem java, pak ji přidejte na classpath toho příkazu. Nebo něco podobného dělá nějaký skript, kterým aplikaci spouštíte, pak upravte ten. A nebo má aplikace přímmo v nějaké konfiguraci možnost nastavit cestu k dalším souborům, které se přidají na classpath.
14.10.2007 10:51 Petr Masopust | skóre: 14
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Odpovědět | Sbalit | Link | Blokovat | Admin
Jsou 2 obvykle metody:

1. java -classpath mysql-driver.jar;.... main.Trida, resp. java -classpath mysql-driver.jar;... -jar aplikace.jar

2. Pokud je vysledna aplikace v jaru tak se da pouzit Class-Path v manifestu.
14.10.2007 10:59 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Java, mysql-connector a CLASSPATH
Odpovědět | Sbalit | Link | Blokovat | Admin
http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.