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 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 0
    dnes 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    dnes 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

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

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 26
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (15%)
     (2%)
     (1%)
     (2%)
     (17%)
     (17%)
     (12%)
    Celkem 101 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: Java classpath kompilace

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