Čo sú to metaznačky, ako ich správne vyplniť a skontrolovať: príklady z praxe. Rozumieme štruktúre a zhromažďujeme balíček .zip na zotavenie CWM Čo sú meta informácie

  • 05.11.2019

Čo sú metaznačky? Meta tagy sú špeciálne html tagy nájdené v kontajneri a sú určené na prenos informácií o tomto webe do prehľadávačov a vyhľadávacích nástrojov. Napríklad pri prehľadávaní vášho zdroja vyhľadávacie roboty zhromažďujú názvy stránok, popisy stránok, kľúčové slová, údaje o autoroch a ďalšie informácie obsiahnuté v značkách ... Pred zobrazením stránky webu používateľa urobí prehliadač to isté, aby pochopil, v akej podobe by sa mala stránka zobraziť pre počítač PC alebo smartphone.

V tomto príspevku sa na metaznačky bude pozerať cez objektív. A tiež budete môcť zistiť základné pravidlá ich vypĺňania, analyzovania a kontroly pomocou nástrojov správcu webu.

Typy metaznačiek:

  • titul ( titul) - názvy stránok;
  • popis ( odpis) - krátky popis stránky;
  • kľúčové slová ( smerom dole) - Kľúčové slová;
  • technické metaznačky (zodpovedné za správne zobrazenie stránky).

Ako správne vyplniť metaznačky

Z hľadiska SEO sú hlavnými metaznačkami webu názov a popis. Preto zvážime správnosť ich naplnenia. Všetky musia byť opäť umiestnené medzi značkami. a nikde inde v kóde.

Ak je vaša stránka vytvorená v CMS, je potrebné nainštalovať špeciálny doplnok alebo modul, aby ste mohli upraviť sekciu s metaznačkami.

Názov

Meta tag je zodpovedný za nadpis stránky a zobrazuje sa ako riadok textu na karte prehliadača.</p> <p>Pre propagáciu stránky vyhľadávačom je potrebné, aby sa kľúčové slovo nachádzalo čo najbližšie k začiatku názvu alebo bolo úplne prvé. Ak sa stránka propaguje v ktoromkoľvek regióne, napíšte názov mesta alebo regiónu. Nasleduje predajná alebo objasňujúca prísada. Na záver, aby bol názov jedinečný, za rovnú čiaru vložte názov webu alebo spoločnosti</p> <p><b>Napríklad:</b></p> <ol><li>Pre komerčné stránky: <i>«Kúpte si notebook v Moskve - ceny od 19990 r v internetovom obchode | site.ru "</i></li> <li>Pre informačný web: <i>«Ako správne pestovať aloe doma Záhradník</i>»</li> </ol><p>Aby názov nemohol byť orezaný, keď sa zobrazuje vo výsledkoch vyhľadávača, nesmie mať viac ako 65 znakov.</p><p> <title>Názov stránky

Popis

Značka Meta Description je zodpovedná za popis podstaty informácií na stránke v niekoľkých vetách. Vyhľadávač zvyčajne vezme informácie z tejto značky na vytvorenie úryvku vo výsledkoch vyhľadávania (najčastejšie to robí Google, menej často Yandex).

Opis by mal tiež obsahovať priame zadanie kľúčového slova (pokiaľ je to možné, doplnené iným slovným tvarom), hovoriť o výhodách vášho návrhu a navyše slúžiť ako promo pre hlavný obsah stránky. Pokúsme sa zostaviť popisy stránok pre dva vyššie uvedené príklady.

Príklady:

  1. „Kúpte si notebook v Moskve. V online obchode si objednajte notebook za cenu 19 990 rubľov. Doručenie je bezplatné. 2-ročná záruka. “
  2. "Ako správne pestovať aloe doma." Časopis Gardener zdieľa tajomstvá domácej pestovania rastliny aloe.»

Dĺžka najviac 140 znakov. V čistom html by to vyzeralo takto:

Kľúčové slová

Značka Meta Keywords je skupina kľúčových slov, ktorými sa propaguje stránka. Dnes je to však tento atribút voliteľné a voliteľné,takže v „zlatom veku“ SEO to vyhľadávače nadmerne využívali a ignorovali. Ak ste sa všetci rozhodli vyplniť kľúčové slová, je lepšie to urobiť jednoduchým uvedením slov v počiatočnom tvare bez čiarok:

„Kúpte si notebook v Moskve, objednávka, cena, rubeľ, záruka online obchodu, katalógová záruka“

Ľubovoľná dĺžka, ale nemali by ste byť príliš horliví. V html je správne napísaný takto:

Metaznačky konkurencie môžete analyzovať iba niekoľkými kliknutiami - pomocou syntaktického analyzátora.

Technické metaznačky

  • Vyprší - dátum exspirácie dokumentu.
  • Pragma - zákaz používania údajov z medzipamäte, informácie je potrebné načítať zo servera.
  • Typ obsahu - typ obsahu a kódovanie.
  • Jazyk obsahu - jazyk stránky / webu.
  • Cache-Control - nastavuje, či je dokument uložený v pamäti alebo nie, a ak áno, ako.
  • Roboti - zodpovední za indexovanie jednotlivých stránok.
  • stav dokumentu - frekvencia indexovania.

Absencia metaznačiek môže mať negatívny vplyv na zobrazovanie, indexovanie a hodnotenie stránok.

Ako pridať metaznačky do CMS

Najčastejšie sa na správu obsahu na webe používajú rôzne CMS a niektoré z nich vyžadujú inštaláciu ďalších modulov a doplnkov, aby bolo možné nastaviť metaznačky. Na registráciu metaznačiek v systéme CMS potrebujete:


Predsa Wix a nie je to CMS - toto je iba konštruktér, tu môžete tiež vytvoriť meta popis stránky a kľúčové slová, ktoré obsahujú informácie o stránke. Pri každej stránke, keď kliknete na tri bodky, vyskočí ponuka, kde môžete prejsť do sekcie SEO a nastaviť potrebné parametre.

Ak to však s propagáciou svojich stránok vo vyhľadávačoch myslíte vážne, je lepšie nepoužívať Wix a zvoliť si napríklad WordPress.

Online kontrola meta tagov + analýza

Ak chcete skontrolovať metaznačky na svojom vlastnom webe, môžete použiť panel správcov webu Yandex. Ak to chcete urobiť, choďte na správcu webu "Diagnostika - diagnostika stránok". Na stránke, ktorá sa otvorí, kliknite na „Čítať“. Potom sa vám zobrazí zoznam stránok, ktoré nie sú vyplnené .

Na komplexnú kontrolu alebo na analýzu metapopisov od konkurencie môžete využiť služby, ktoré rýchlo a online zobrazia potrebné informácie.

Tu sú niektoré z týchto služieb:

  • Promoult
  • Serpstat
  • Pixelplus

Záver

Meta tagy sú prvou vecou, \u200b\u200bktorú vyhľadávač venuje pozornosť. Sú to kľúčové faktory pri hodnotení stránok stránok vo výsledkoch vyhľadávania. Metapopisy nemôžete nechať prázdne, naopak, pri ich vypĺňaní musíte byť veľmi opatrní a teraz viete, ako na to.

12 odpovedí

Všeobecne by ste do META-INF nemali dávať nič sami. Namiesto toho by ste sa mali spoľahnúť na čokoľvek, čo použijete na zabalenie vášho JAR. V tejto oblasti podľa môjho názoru Ant skutočne vyniká: špecifikácia atribútov manifestu súboru JAR. Je veľmi ľahké povedať niečo ako:

Aspoň si myslím, že je to ľahké ... :-)

Jedná sa o to, že META-INF by sa mal považovať za interný metadresár Java. Nerobte si s tým hlavu! Všetky súbory, ktoré chcete zahrnúť do súboru JAR, musia byť umiestnené v nejakom inom podadresári alebo v koreňovom adresári samotného súboru JAR.

Všimol som si, že niektoré knižnice Java začali používať META-INF ako adresár, ktorý bude obsahovať konfiguračné súbory na zabalenie a zahrnutie do CLASSPATH spolu s JAR. Napríklad Spring vám umožňuje importovať súbory XML, ktoré sú na ceste triedy, pomocou:

V tomto príklade citujem priamo z užívateľskej príručky Apache CXF. V projekte, kde som pracoval na tom, kde sme cez jar potrebovali povoliť viac úrovní konfigurácie, sme postupovali podľa tejto konvencie a umiestnili sme naše konfiguračné súbory do META-INF.

Keď premýšľam nad týmto riešením, neviem, čo by presne bolo zlé, keby som jednoducho zahrnul konfiguračné súbory do konkrétneho balíka Java a nie do META-INF. Zdá sa však, že ide o nový de facto štandard; buď tento, alebo nový anti-vzor :-)

Môžete tam umiestniť aj statické prostriedky.

V príklade:

META-INF / resources / button.jpg

a dostať ich do kontajnera web3.0 cez

Http: //localhost/myapp/button.jpg

/ META-INF / MANIFEST.MF má zvláštny význam:

Ak chcete doplniť informácie tu, v prípade súboru WAR poskytuje súbor META-INF / MANIFEST.MF vývojárovi schopnosť iniciovať kontrolu času nasadenia kontajnerom, čo zabezpečí, že kontajner dokáže nájsť všetko, na čom závisí vaša aplikácia. To zaisťuje, že v prípade, že ste vynechali súbor JAR, nemusíte čakať, kým vaša aplikácia narazí za behu, aby ste si uvedomili, že chýba.

V priečinku Maven META-INF je to pochopiteľné kvôli štandardnému rozloženiu adresárov, ktoré je na základe konvencie podmieneného zväzku zdrojov projektu v JAR: všetky adresáre alebo súbory umiestnené v adresári $ (basedir) / src / main / resources sú zabalené do vášho JAR s rovnakou štruktúrou začínajúcou na Základne JAR. Priečinok $ (basedir) / src / main / resources / META-INF zvyčajne obsahuje súbory .properties, zatiaľ čo jar obsahuje vygenerované súbory MANIFEST.MF, pom.vlastnosti pom.xml, okrem iných súborov. Rámec ako Spring tiež používa classpath: / META-INF / resources / na poskytovanie webových zdrojov. Viac informácií nájdete na

Ak používate JPA1, možno budete musieť zrušiť súbor persistence.xml, ktorý určuje názov jednotky perzistencie, ktorú by ste mohli chcieť použiť. Modul perzistencie poskytuje pohodlný spôsob, ako určiť skupinu súborov metadát, tried a pohárov obsahujúcich všetky triedy, ktoré sa majú v skupine zachovať.

Import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; // ... EntityManagerFactory emf \u003d Persistence.createEntityManagerFactory (persistenceUnitName);

Nedávno som uvažoval o tejto otázke. Zdá sa, že použitie META-INF nie je nijako obmedzené. Samozrejme, existujú určité prísne pravidlá, pokiaľ ide o potrebu vloženia manifestu, ale zdá sa, že neexistuje žiadny zákaz umiestňovať doň iné veci.

Prečo je to tak?

Prípad cxf môže byť legálny. Tu je ďalšie miesto, kde sa tento neštandard odporúča obísť škaredú chybu v JBoss-ws, ktorá znemožňuje overenie na strane servera proti schéme wsdl.

Ale v skutočnosti neexistujú žiadne normy, nič by nemalo byť. Zvyčajne sú tieto veci veľmi prísne definované, ale z nejakého dôvodu sa tu nejaví štandard. Je to zvláštne. Zdá sa, že META-INF sa stal populárnym miestom pre každú požadovanú konfiguráciu, ktorú nemožno ľahko zvládnuť iným spôsobom.

Ak sem chcete pridať informácie, META-INF je špeciálny priečinok, v ktorom s ním ClassLoader zaobchádza odlišne od ostatných priečinkov v banke. Prvky vnorené do META-INF sa nemiešajú s prvkami mimo neho. Je to ako iný koreň. Aspoň metódou Enumerator ClassLoader # getSystemResources (reťazcová cesta) atď.: Keď daná cesta začína reťazcom „META-INF“, metóda hľadá zdroje vnorené do priečinkov META-INF všetkých pohárov v ceste triedy. A keď daná cesta nezačína na „META-INF“, metóda hľadá zdroje vo všetkých ostatných priečinkoch (mimo META-INF) všetkých jarov a adresárov v triede cesty.

Ahoj! Pre záujemcov o systém Android som sa rozhodol vytvoriť tento článok. Každý, kto používa Android OS nielen na volanie a prehrávanie mediálnych súborov, ale aj ten, kto rád experimentuje s iným firmvérom, dáva dekorácie, ktoré úplne menia rozhranie, rôzne vylepšenia na zvýšenie výkonu atď. (Samozrejme, majú práva root), balíčky rozšírení zip pre inštaláciu pomocou obnovy CWM viackrát. Aká je štruktúra týchto balíkov, ako sa inštalujú, ako si sami takýto balíček zostaviť, pozri pod kat.

Keďže v tejto veci je veľká väčšina nováčikov, všetko popisujem vlastnými slovami. Balík ZIP na zotavenie je sada súborov, skriptov obsahujúcich syntax (text) v jazyku edify na vykonávanie akýchkoľvek úloh (výmena akýchkoľvek súborov, mazanie, formátovanie, vkladanie súborov, ich spúšťanie atď.). Štruktúra balenia:
Vo vnútri balenia vidíme v prvom rade priečinok „META-INF“, ktorý obsahuje priečinok „com“, potom priečinok „google“, potom priečinok „android“ a už v poslednom vidíme dva súbory: updater-script a update-binary. Tento „zábavný“ obsah priečinka META-INF je rovnaký pre všetky zariadenia na obnovenie a zariadenia so systémom Android a iba ho je možné pri obnovení „prečítať“. Updater-script je súbor obsahujúci príkazy na postupné zotavenie. Napríklad otvorte root updater-script pomocou prieskumníka v textovom editore a pozrite si:
mount ("/ system"); - skript pripojí systém na zápis
delete ("/ system / app / calculator.apk"); - odstráni kalkulačku zo systému / aplikácie / priečinka
umout ("/ system"); - odpojí systém.
Tento skript môže obsahovať ľubovoľnú syntax pre mazanie, kopírovanie, otváranie atď., Ale o tom neskôr. Druhý súbor, update-binary, je sada príkazov edify (ako cheat sheet pre updater-script). Prieskumník koreňov sa neotvára pre svoju veľkú váhu a spravidla sa stiahne hotový. Ukážka toho, na čo slúži. Vložte archív, obnova „vyzerá“ v skripte updater pre prvý príkaz, napríklad mount („/ system); potom je tento príkaz skontrolovaný v binárnej aktualizácii a hovorí, že tento príkaz pripojí systém na zápis a systém to urobí. pri rozbaľovaní v priečinku META-INF môžete vidieť súbory MANIFEST.MF, CERT.RSA a CERT.SF. Toto je podpis archívu a je potrebný iba na obnovenie z výroby. Aj v blízkosti „hlavného“ priečinka META-INF môže byť ľubovoľný priečinok alebo súbor. Napríklad balík na výmenu systémového jadra: vidíme v ňom priečinok META-INF so všetkým, čo obsahuje to, čo som napísal vyššie (META-INF / com / google / android / updater-script a update-binary) a obraz bootovacieho jadra .img. Alebo balík na odstránenie a nahradenie napríklad štandardného hudobného prehrávača: META-INF a systémového priečinka a v ňom priečinok s aplikáciami, do ktorého sme vložili napr. playerpro.apk. S týmto spôsobom sme prišli na to, že vytvoríme balíček:
Aby sme mohli vytvoriť balíček, zmeniť ho alebo prebaliť priamo na smartphone, najskôr potrebujeme práva root, aktualizačný binárny súbor a tri programy: root explorer, zarchiver a program na podpisovanie archívov zip signer. Choď! Napríklad odstránime skladový prehrávač a na jeho miesto umiestnime PlayerPro.
1. Otvorte program root explorer a vytvorte cestu z priečinkov META-INF / com / google / android /.
2. V priečinku Android rozbaľte a vložte update-binary.
3. Tiež v priečinku Android kliknite (v aplikácii Ruth Explorer) na ďalšiu ponuku a klepnite na „vytvoriť súbor“. Napíšte názov súboru updater-script.
4. Otvorte aktualizačný skript v textovom editore rovnakého koreňa prieskumníka a napíšte príkazy:
mount ("/ sbin / busybox", "/ system");
delete ("/ system / app / music.apk");
package_extract_dir ("system", "/ system");
odpojiť ("/ systém");
5. Ukončite a uložte.
6. Prejdeme do priečinka META-INF a vedľa neho vytvoríme systémový priečinok a v ňom priečinok s aplikáciami, do ktorého vložíme už nainštalovaný súbor apk nášho prehrávača (môžete ho prevziať po ceste údajov / aplikácií).
7. Prejdite na program / nastavenia / úroveň kompresie zip a Zarchiver a zvoľte „normal“. Potom opustíme nastavenia a klikneme na multi-výber. Vyberieme naše dva priečinky META-INF a systém, zabalíme ich do archívu zip.
8. Otvorte program na podpisovanie Zip, nájdite náš archív, pomenujte ho, ako len chceme (iba bez ruských znakov a medzier, napríklad Playerpro-system-by-me), kliknite na podpísaný testovací kľúč nižšie.
9. Nájdite podpísaný archív, ktorý je pripravený na inštaláciu pomocou CWM alebo iného vlastného obnovenia.
Malý príklad príkazov pre aktualizačný skript:
copy_dir
Syntax: copy_dir []
Kopíruje obsah v ... Súbory v dostupné v sú prepísané.
Príklad: copy_dir PACKAGE: system SYSTEM: Skopíruje súbory z priečinka update.zip/system do / system
formát
Syntax: formát
Naformátuje sekciu (pozri prílohu)
Príklad: format SYSTEM: Bude úplne naformátovaný / systém. Poznámka: Formátovanie nenávratne vymaže údaje.
vymazať
Syntax: odstrániť [… ]
Vymaže súbory
Príklad: odstrániť SYSTÉM: app / Calculator.apk Vymaže Calculator.apk zo priečinka systém / aplikácia.
delete_recursive
Syntax: delete_recursive [… ]
Rekurzívne odstráni súbory a priečinky so všetkým obsahom
Príklad: delete_recursive DATA: dalvik-cache Vymaže priečinok / data / dalvik-cache so všetkým jeho obsahom
run_program
Syntax: run_program [ ...]
Spustí program (skript).
Príklad: run_program BALÍČEK: install_busybox.sh Spustí skript update.zip/install_busybox.sh.
set_perm
Syntax: set_perm [… ]
Nastaví vlastníka, skupinu a povolenia súboru alebo priečinka, ako sú napríklad „chmod“, „chown“ a „chgrp“ v jednom.
Príklad: set_perm 0 2000 0550 SYSTÉM: etc / init.goldfish.sh Nastaviť vlastníka, skupinu a oprávnenia pre súbor /system/etc/init.goldfish.sh
set_perm_recursive
Syntax: set_perm_recursive [… ]
Rekurzívne nastavuje vlastníka, skupinu a povolenia pre obsah priečinka. - pre priečinky, - pre súbory.
Príklad: set_perm_recursive 0 0 0755 0644 SYSTÉM: aplikácia Nastavuje povolenia pre obsah / systém / aplikáciu, pre priečinky - 0755, pre súbory - 0644.
show_progress *
Syntax: show_progress
Ukazuje indikátor priebehu na danom mieste sekúnd (alebo rýchlejšie, ak je možné určiť skutočnú rýchlosť vykonania).
Príklad: show_progress 0,1 0
symbolický odkaz
Syntax: symbolický odkaz
Vytvorí symbolický odkaz (napríklad „ln-s“). je napísané vo formáte root: path a v cieľovom formáte súborového systému (a môže byť relatívny)
Príklad: symlink / data / app_s SYSTÉM: app vytvorí symbolický odkaz na priečinok / data / app_s pre priečinok / system / app
UPD: ak ste balík skompilovali a požiadali oň prostredníctvom obnovy, potom existujú dve možnosti, alebo pri jeho inštalácii obnovenie napíše chybu a nič sa nestane, nebude vymazané. nebudú nahradené (stáva sa to pri nesprávnej štruktúre balíka, chybách v názvoch súborov / priečinkov, nesprávnych príkazoch (nesprávne poradie alebo chyby) v skripte updater alebo nevhodnom binárnom okne s aktualizáciou. Obnova spravidla zapíše chybový kód od 1 do 9. Buď sa všetko stane tak, ako ste napísali, to znamená, že polovicu príkazov z programu updater-scrip nemožno vykonať - buď všetko, alebo nič, a chyba.
Dúfam, že niekto považoval tento článok za užitočný. To samozrejme neznamená, že sa okamžite budete náhliť a správne vytvoríte pracovný balíček, ale vo vašom úsilí vám to výrazne pomôže.
PRED INŠTALÁCIOU ŽIADNEHO BALENIA NEZABÚDAME ZÁLOHOVANIE SYSTÉMU. ZA VŠETKY OPATRENIA NA VYMAZANIE A ZMENU SÚBOROV SYSTÉMU, KEĎ NIE SÚ NI ALEBO SPRÁVA STRÁNKY ZODPOVEDNÍ.

existuje priečinok (11)

V prostredí Java často vidíte priečinok META-INF, ktorý obsahuje niektoré metasúbory. Aký je účel tohto priečinka a čo tam môžem vložiť?

Odpovede

META-INF v Maven

V priečinku Maven META-INF je to pochopiteľné kvôli štandardnému rozloženiu adresárov, ktoré podľa štandardu pomenovania zarovná zdroje vášho projektu do súboru JAR: akékoľvek adresáre alebo súbory umiestnené v adresári $ (basedir) / src / main / resources sú zabalené do vášho JAR pomocou úplne rovnakej štruktúry počnúc základňou JAR. Priečinok $ (basedir) / src / main / resources / META-INF zvyčajne obsahuje súbory .vlastnosti, v zatiaľ čo banka obsahuje vytvorené MANIFEST.MF , pom.vlastnosti , pom.xml , okrem iných súborov. Používané rámce ako Spring používajú na poskytovanie webových zdrojov aj classpath: / META-INF / resources /. Viac informácií nájdete na

Nedávno som uvažoval o tejto otázke. Zdá sa, že použitie META-INF nie je nijako obmedzené. Samozrejme, existujú určité prísne pravidlá, pokiaľ ide o potrebu vloženia manifestu, ale zdá sa, že neexistuje žiadny zákaz umiestňovať doň iné veci.

Prečo je to tak?

Prípad cxf môže byť legálny. Tu je ďalšie miesto, kde sa tento neštandard odporúča obísť škaredú chybu v JBoss-ws, ktorá znemožňuje overenie na strane servera proti schéme wsdl.

Ale v skutočnosti neexistujú žiadne normy, iné. Zvyčajne sú tieto veci veľmi prísne definované, ale z nejakého dôvodu sa zdá, že tu neexistujú žiadne normy. Zvláštne. Vyzerá to, že META-INF sa stal obľúbeným miestom pre každú požadovanú konfiguráciu, ktorú nemožno ľahko zvládnuť iným spôsobom.

Ak chcete doplniť informácie tu, v prípade súboru WAR poskytuje súbor META-INF / MANIFEST.MF vývojárovi možnosť iniciovať kontrolu času nasadenia kontajnerom, čo zabezpečí, že kontajner dokáže nájsť všetky triedy, od ktorých závisí vaša aplikácia. To zaisťuje, že v prípade, že ste vynechali súbor JAR, nemusíte čakať na zasiahnutie aplikácie za behu, aby ste si uvedomili, že chýba.

Všeobecne povedané, nemusíte do META-INF nič písať sami. Namiesto toho by ste sa mali spoľahnúť na čokoľvek, čo použijete na zabalenie vášho JAR. V tejto oblasti podľa môjho názoru Ant skutočne vyniká: špecifikácia atribútov manifestu JAR. Je veľmi ľahké povedať niečo ako:

Aspoň si myslím, že je to ľahké ... :-)

Ide o to, že META-INF by sa mal považovať za interný metadresár Java. Nerobte si s tým hlavu! Všetky súbory, ktoré chcete zahrnúť do súboru JAR, musia byť umiestnené v nejakom inom podadresári alebo v koreňovom adresári samotného súboru JAR.

Všetky odpovede sú správne. Meta-inf má veľa účelov. Tu je tiež príklad použitia kontajnera Tomcat.

Hodnota /META-INF/MANIFEST.MF má špeciálny význam:

  1. Ak spustíte nádobu pomocou java -jar myjar.jar org.myserver.MyMainClass, môžete definíciu hlavnej triedy presunúť do pohára, aby ste mohli hovor skomprimovať do java -jar myjar.jar.
  2. Pre balíky môžete definovať metainformácie, ak používate java.lang.Package.getPackage ("org.myserver"). GetImplementationTitle ().
  3. Môžete odkazovať na digitálne certifikáty, ktoré chcete použiť v režime Applet / Webstart.

Ak používate JPA1, možno budete musieť vymazať súbor persistence.xml, ktorý určuje názov jednotky perzistencie, ktorú by ste mohli chcieť použiť. Modul persistencie poskytuje pohodlný spôsob, ako určiť skupinu súborov metadát, tried a pohárov obsahujúcich všetky triedy, ktoré sa majú v skupine zachovať.

Import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; // ... EntityManagerFactory emf \u003d Persistence.createEntityManagerFactory (persistenceUnitName);

Doplnenie tu uvedených informácií, META-INF je špeciálny priečinok, s ktorým ClassLoader zaobchádza odlišne od ostatných priečinkov v banke. Položky vnorené v priečinku META-INF sa nemiešajú s položkami mimo neho.

Ber to ako iný koreň. Z metódy Enumerator ClassLoader # getSystemResources (reťazcová cesta) Metóda počítadla ClassLoader # getSystemResources (reťazcová cesta) a ďalšie perspektívy:

Keď daná cesta začína „META-INF“, metóda hľadá zdroje vnorené do priečinkov META-INF všetkých pohárov v ceste triedy.

Keď daná cesta nezačína na „META-INF“, metóda hľadá zdroje vo všetkých ostatných priečinkoch (mimo META-INF) všetkých jarov a adresárov v triede cesty.

Ak poznáte iný názov priečinka, ktorým je metóda getSystemResources, komentujte ju.

Priečinok META-INF je domovským súborom MANIFEST.MF. Tento súbor obsahuje metaúdaje o obsahu súboru JAR. Napríklad existuje položka s názvom Main-Class, ktorá určuje názov triedy Java so statickým main () pre spustiteľné súbory JAR.

Z oficiálnej špecifikácie súboru JAR (odkaz smeruje na verziu Java 7, ale text sa nezmenil minimálne od verzie 1.3):

Katalóg META-INF

Nasledujúce súbory / adresáre v adresári META-INF rozpoznáva a interpretuje platforma Java 2 na prispôsobenie aplikácií, rozšírení, zavádzačov tried a služieb:

  • MANIFEST.MF

Súbor manifestu, ktorý sa používa na definovanie údajov súvisiacich s príponou a balíkom.

  • INDEX.ZOZNAM

Tento súbor je generovaný novou voľbou -i nástroja jar, ktorá obsahuje informácie o umiestnení balíkov definovaných v aplikácii alebo prípone. Je súčasťou implementácie JarIndex a slúži na načítanie tried na urýchlenie procesu načítania triedy.

Podpisový súbor pre súbor JAR. „X“ znamená názov základného súboru.

  • x.DSA

Súbor bloku podpisu priradený k súboru podpisu s rovnakým názvom základného súboru. Tento súbor uchováva digitálny podpis zodpovedajúceho súboru podpisu.

  • služby /

Tento adresár obsahuje všetky konfiguračné súbory poskytovateľa služieb.

Toto je jeden spôsob.

HashMap h \u003d nová HashMap () ((put ("a", "b");));

Musíte však byť opatrní a ubezpečiť sa, že rozumiete vyššie uvedenému kódu (vytvára novú triedu, ktorá dedí z HashMap). Mali by ste si teda prečítať viac tu: http://www.c2.com/cgi/wiki?DoubleBraceInitialization alebo jednoducho použiť Guava:

Mapa dolava \u003d ImmutableMap.of ("a", 1, "b", 2, "c", 3);

firmvér služieb (11)

Ak používate JPA1, možno budete musieť vymazať súbor persistence.xml, ktorý určuje názov jednotky perzistencie, ktorú by ste mohli chcieť použiť. Modul persistencie poskytuje pohodlný spôsob, ako určiť skupinu súborov metadát, tried a pohárov obsahujúcich všetky triedy, ktoré sa majú v skupine zachovať.

Import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; // ... EntityManagerFactory emf \u003d Persistence.createEntityManagerFactory (persistenceUnitName);

V prostredí Java často vidíte priečinok META-INF, ktorý obsahuje niektoré metasúbory. Aký je účel tohto priečinka a čo tam môžem vložiť?

Môžete tam umiestniť aj statické prostriedky.

V príklade:

META-INF / resources / button.jpg

a dostať ich do kontajnera web3.0 cez

Http: //localhost/myapp/button.jpg

Hodnota /META-INF/MANIFEST.MF má špeciálny význam:

  1. Ak spustíte nádobu pomocou java -jar myjar.jar org.myserver.MyMainClass, môžete definíciu hlavnej triedy presunúť do pohára, aby ste mohli hovor skomprimovať do java -jar myjar.jar.
  2. Pre balíky môžete definovať metainformácie, ak používate java.lang.Package.getPackage ("org.myserver"). GetImplementationTitle ().
  3. Môžete odkazovať na digitálne certifikáty, ktoré chcete použiť v režime Applet / Webstart.

Nedávno som uvažoval o tejto otázke. Zdá sa, že použitie META-INF nie je nijako obmedzené. Samozrejme, existujú určité prísne pravidlá, pokiaľ ide o potrebu vloženia manifestu, ale zdá sa, že neexistuje žiadny zákaz umiestňovať doň iné veci.

Prečo je to tak?

Prípad cxf môže byť legálny. Tu je ďalšie miesto, kde sa tento neštandard odporúča obísť škaredú chybu v JBoss-ws, ktorá znemožňuje overenie na strane servera proti schéme wsdl.

Ale v skutočnosti neexistujú žiadne normy, iné. Zvyčajne sú tieto veci veľmi prísne definované, ale z nejakého dôvodu sa zdá, že tu neexistujú žiadne normy. Zvláštne. Vyzerá to, že META-INF sa stal obľúbeným miestom pre každú požadovanú konfiguráciu, ktorú nemožno ľahko zvládnuť iným spôsobom.

Všeobecne povedané, nemusíte do META-INF nič písať sami. Namiesto toho by ste sa mali spoľahnúť na čokoľvek, čo použijete na zabalenie vášho JAR. V tejto oblasti podľa môjho názoru Ant skutočne vyniká: špecifikácia atribútov manifestu JAR. Je veľmi ľahké povedať niečo ako:

Aspoň si myslím, že je to ľahké ... :-)

Ide o to, že META-INF by sa mal považovať za interný metadresár Java. Nerobte si s tým hlavu! Všetky súbory, ktoré chcete zahrnúť do súboru JAR, musia byť umiestnené v nejakom inom podadresári alebo v koreňovom adresári samotného súboru JAR.

Priečinok META-INF je domovským súborom MANIFEST.MF. Tento súbor obsahuje metaúdaje o obsahu súboru JAR. Napríklad existuje položka s názvom Main-Class, ktorá určuje názov triedy Java so statickým main () pre spustiteľné súbory JAR.

META-INF v Maven

V priečinku Maven META-INF je to pochopiteľné kvôli štandardnému rozloženiu adresárov, ktoré podľa štandardu pomenovania zarovná zdroje vášho projektu do súboru JAR: akékoľvek adresáre alebo súbory umiestnené v adresári $ (basedir) / src / main / resources sú zabalené do vášho JAR pomocou úplne rovnakej štruktúry počnúc základňou JAR. Priečinok $ (basedir) / src / main / resources / META-INF zvyčajne obsahuje súbory .vlastnosti, v zatiaľ čo banka obsahuje vytvorené MANIFEST.MF , pom.vlastnosti , pom.xml , okrem iných súborov. Používané rámce ako Spring používajú na poskytovanie webových zdrojov aj classpath: / META-INF / resources /. Viac informácií nájdete na

Doplnenie tu uvedených informácií, META-INF je špeciálny priečinok, s ktorým ClassLoader zaobchádza odlišne od ostatných priečinkov v banke. Položky vnorené v priečinku META-INF sa nemiešajú s položkami mimo neho.

Ber to ako iný koreň. Z metódy Enumerator ClassLoader # getSystemResources (reťazcová cesta) Metóda počítadla ClassLoader # getSystemResources (reťazcová cesta) a ďalšie perspektívy:

Keď daná cesta začína „META-INF“, metóda hľadá zdroje vnorené do priečinkov META-INF všetkých pohárov v ceste triedy.

Keď daná cesta nezačína na „META-INF“, metóda hľadá zdroje vo všetkých ostatných priečinkoch (mimo META-INF) všetkých jarov a adresárov v triede cesty.

Ak poznáte iný názov priečinka, ktorým je metóda getSystemResources, komentujte ju.

Všetky odpovede sú správne. Meta-inf má veľa účelov. Tu je tiež príklad použitia kontajnera Tomcat.

Prejdite na Tomcat Doc a inštalácia atribút " Štandardná implementácia\u003e copyXML ».

Pozri popis nižšie.

Nastavte hodnotu true, ak chcete, aby sa deskriptor kontextu XML vložený do aplikácie (umiestnený v /META-INF/context.xml) skopíroval do xmlBase vlastníka hostiteľa, keď je aplikácia nasadená. Pri ďalších spusteniach sa deskriptor XML kopírovaného kontextu použije prednostne pred akýmkoľvek deskriptorom kontextu XML zabudovaným do aplikácie, aj keď je zabudovaný deskriptor XML aplikácie neskôr. Vlajka je predvolene nastavená na hodnotu False. Upozorňujeme, že ak je atribút deployXML vlastníka hostiteľa nepravdivý alebo ak je atribút copyXML vlastníka hostiteľa pravdivý, nemá tento atribút žiadny účinok.

Z oficiálnej špecifikácie súboru JAR (odkaz smeruje na verziu Java 7, ale text sa nezmenil minimálne od verzie 1.3):

Katalóg META-INF

Nasledujúce súbory / adresáre v adresári META-INF rozpoznáva a interpretuje platforma Java 2 na prispôsobenie aplikácií, rozšírení, zavádzačov tried a služieb:

  • MANIFEST.MF

Súbor manifestu, ktorý sa používa na definovanie údajov súvisiacich s príponou a balíkom.

  • INDEX.ZOZNAM

Tento súbor je generovaný novou voľbou -i nástroja jar, ktorá obsahuje informácie o umiestnení balíkov definovaných v aplikácii alebo prípone. Je súčasťou implementácie JarIndex a slúži na načítanie tried na urýchlenie procesu načítania triedy.

Podpisový súbor pre súbor JAR. „X“ znamená názov základného súboru.

  • x.DSA

Súbor bloku podpisu priradený k súboru podpisu s rovnakým názvom základného súboru. Tento súbor uchováva digitálny podpis zodpovedajúceho súboru podpisu.

  • služby /

Tento adresár obsahuje všetky konfiguračné súbory poskytovateľa služieb.

Vo svojom priečinku META-INF máte súbor MANIFEST.MF. Môžeš definovať ďalšie alebo vonkajšie závislosti, ku ktorým musíte mať prístup.

Príklad:

Myslíte si, že ste nasadili svoju aplikáciu a váš kontajner (za behu) zistil, že vaša aplikácia potrebuje novšiu verziu knižnice, ktorá sa nenachádza v priečinku lib. V takom prípade, ak ste v MANIFEST.MF definovali ďalšiu novú verziu, bude vaša aplikácia odkážte na závislosť odtiaľ (a nedôjde k zlyhaniu).

Zdroj: Head First Jsp & Servlet

Tu je zoznam dekompilátorov z februára 2015.