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í
×
    dnes 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 2
    dnes 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    včera 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

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

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

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

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1679 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Java classpath kompilace

    30.12.2015 20:38 Xerces
    Java classpath kompilace
    Přečteno: 539×
    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: 50 | 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: 50 | 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.