abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 30
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Dotaz: Java classpath kompilace

    30.12.2015 20:38 Xerces
    Java classpath kompilace
    Přečteno: 519×
    Ahoj, měl bych dotaz ohledně classpath v programovacím jazyku Java na místní Javatary. Předem se omlouvám za možná nepřesnou terminologii. Mám .jar soubor, který obsahuje nějakou třídu a tato třída využívá milion šest knihoven (jak už to tak s Javou bývá). Tyto knihovny jsou v různých adresářích a při spouštění je tedy nutné zadat classpath k těmto knihovnám a je to teda slušný počteníčko. Nešlo by nějak tuto classpath zakompilovat přímo do toho jar souboru, aby se to nemuselo zadávat při spuštění? Nechci jít cestou kompilace všech knihoven do jar souboru. Potřebuju mít uvnitř pouze tu classpath.

    Řešení dotazu:


    Odpovědi

    30.12.2015 21:33 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    • commandline s celou classpath napíš do skriptu (alebo shell funkcie) a používaj to
    • .jar okrem .class súborov môže obsahovať aj iné veci (napr. v manifeste) a preto zlúčenie viacerých .jar súborov do jedného (tak, že všetky .jar rozbalíš do jednej adresárovej štruktúry a z nej urobíš výsledný .jar) môže byť problematické
    • raz som sa hral s Eclipsom a ten pri exporte projektu do spustiteľného .jar súboru ponúkol použitie "jar in jar". To znamená, že tie knižničné .jar súbory sa vložili dovnútra .jar-u aplikácie a pribalila sa tam ešte nejaká malá vec, ktorá zariadila, že ich classloader našiel
    30.12.2015 22:42 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Tu možnost se skriptem bohužel nemám. Ono se to nepouští z konzole, ale z nějaké jiné Java aplikace, kam lze vložit pouze jar soubor a vedle dopsat tu classpath. Pouští si to pak nějak interně. Přiznám se, že tomu moc nerozumím. Je tam jen kolonka pro zadání jar souboru a druhá pro případný řetězec classpath. Jediný co můžu ovlivnit je ten jar soubor, který tomu podstrkávám. Sloučení knihoven do .jar souboru bych se rád vyhnul, mělo by to pak stovky megabajtů (přitom ta utilita de facto jen kopíruje soubor :-)). Ale je možný, že to prostě nejde, i když se zdráhám uvěřit, že by všici co programují v Javě byly takový masochisti vyžívající se v psaní a modifikacích classpath. Zvlášť ve Windows to musí být chuťovka. :-/
    30.12.2015 23:44 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Pokud je to takto, tak musíte tu classpath skutečně vypsat. O lepším řešením nevím.

    Na vygenerování cesty si můžete napsat skript, já používám například skript, který mi vygeneruje cestu pro všechny jar v adresáři.

    Pro spouštění reálných aplikací se používají taky buď skripty anebo jiné mechanismy, například java web start anebo loader, který si sám natáhne potřebné jarka.

    -- OldFrog
    31.12.2015 11:03 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Díky za reakci, půjdu cestou toho MANIFEST souboru. Ono mi nešlo ani tak o generování. Spíše jde o případy, kdy ta classpath je tak nečekaně velká, že ji pak třeba začně něco ořezávat, nebo v případě kontroly, když se dohledává, proč to nefunguje. Pak se tím člověk musí pročítat jak Marxovým Kapitálem, protože většinou po ruce má jenom vzdálenou konzoli s Notepadem :-)
    xkucf03 avatar 31.12.2015 00:18 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    31.12.2015 10:57 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    To bude přesně ono. Tak nějak se mi nechtělo věřit, že by to v tak úžasném jazyce nešlo. Snad to bude fungovat. Prosím označit vlákno jako solved. Děkuji.
    31.12.2015 17:41 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Člověk se stále učí, netušil jsem, že to jde tak jednoduše, díky za info :-)
    -- OldFrog
    31.12.2015 22:13 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    No ono to tak jednoduché není. Ten MANIFEST je pěkná prasečina, Namátkou nutnost zarovnání na 70 + 2 znaků, problém s mezerami v názvech adresářů. Ale vypadá to, že to nakonec zlomím. :-)
    xkucf03 avatar 31.12.2015 22:30 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Java classpath kompilace

    Taky se nečeká, že to budeš psát ručně – mě by to řešit Ant, Maven nebo IDE či jiný nástroj.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    4.1.2016 10:42 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Napsal a zalámal jsem to radši ručně (57 řádek). Nechtěl jsem ještě řešit/hledat případný chyby v Ant, nehledě na to, že to ani nemám nainstalovaný. Každopádně to skutečně zafungovalo. Pro pobavení resp. nas... posílám odkaz na krátkou diskuzi k tématu, aneb jak by to němelo vypadat, když se někdo na něco zeptá. :-) https://community.oracle.com/thread/2051019?start=0&tstart=0
    4.1.2016 15:56 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    No ale nedivte se - distribuovat jar s classpath odkazujícím někam do Program files je trochu špinavá praktika. Možná kdybyste na začátku uvedl, že to potřebujete pro vlastní potřebu ve speciélním případě a že víte, že to je hack, pak byste si možná ušetřil zbytečné reakce.
    -- OldFrog
    5.1.2016 12:02 Xerces
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    To jsem nepsal já. Narazil jsem na tu diskuzi náhodou, když jsem hledal řešení svého problému. Mě na tom zarazila ta arogance s kterou ten expert sveřepě tvrdil, že to není potřeba :-) Vůbec si neuvědomil, že ten tazatel mohl být v situaci, kdy nic nevyyvíjí, ale pouze má za úkol rozjet existující aplikaci v nějakém obskurním prostředí. Ty poznámky o multiplatformním programování pak působí dost úsměvně. Každopádně obdivuju ten stoický klid tazatele.
    5.1.2016 18:04 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Java classpath kompilace
    Aha, tak to pardon :-) Mě ta diskuze nepřijde tak hrozná, trochu se to tam zacyklilo, ale v zásadě mají oba pravdu a na konci diskuze je řešení, takže co víc chtít...
    -- OldFrog

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.