Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Java архив файл пішімі
Java archive file format
JAR ("Java архив") файлы – Java кластарының көптеген файлдарын, сондай-ақ олармен байланысты метадеректер мен ресурстарды (мәтін, суреттер және т.б.) біріктіріп, таратуға арналған пакет файл пішімі. JAR файлдары – Java-ға тән манифест файлын қамтитын архив файлдары. Олар ZIP форматы негізінде құрылған және әдетте .jar кеңейтімді файл ретінде сақталады.
A JAR ("Java archive") file is a package file format typically used to aggregate many Java class files and associated metadata and resources (text, images, etc.) into one file for distribution. JAR files are archive files that include a Java specific manifest file. They are built on the ZIP format and typically have a jar file extension.
Дизайн
JAR файлы Java орындалу ортасына қолданбаның барлық бөліктерін, оның ішінде сыныптарды және олармен байланысты ресурстарды бір сұрау арқылы тиімді орналастыруға мүмкіндік береді. JAR файлының элементтері қысылуы мүмкін, бұл жүктеу уақытын қысқартады. JAR файлында META-INF/MANIFEST орналасқан жерде манифест файлы болуы мүмкін. MF. Манифест файлындағы жазбалар JAR файлын қалай пайдалану керектігін көрсетеді. Мысалы, Classpath жазуы JAR файлымен бірге жүктелуі тиіс басқа JAR файлдарын көрсету үшін қолданылуы мүмкін.
A JAR file allows Java runtimes to efficiently deploy an entire application, including its classes and their associated resources, in a single request. JAR file elements may be compressed, shortening download times. A JAR file may contain a manifest file, that is located at META INF/MANIFEST. MF. The entries in the manifest file describe how to use the JAR file. For instance, a Classpath entry can be used to specify other JAR files to load with the JAR.
Экстракциялау
Файлдың ішкі мазмұны ZIP форматын қолдайтын кез келген архивті ашу бағдарламасымен немесе Java Development Kit құрамына енген jar командалық құралын қолдану арқылы алынып шығарылуы мүмкін.
The contents of a file may be extracted using any archive extraction software that supports the ZIP format, or the jar command line utility provided by the Java Development Kit.
Қауіпсіздік
Жасаушылар JAR файлдарына цифрлық қол қоя алады. Мұндай жағдайда қолтаңба туралы ақпарат кіріктірілген манифест файлының бір бөлігі болады. JAR файлының өзі қолтаңбаланбайды, бірақ оның ішіндегі әрбір файл өз тексеру сомасымен бірге тізімделеді; осы тексеру сомалары қолтаңбаланады. Бірнеше тұлға JAR файлына қол қоюы мүмкін, әр қол қою JAR файлын өзгертеді, бірақ қол қойылған файлдардың өзі жарамды болып қалады. Java орындалыс ортасы қол қойылған JAR файлдарын жүктегенде, қолтаңбаларды тексеріп, қолтаңбаға сәйкес келмейтін сыныптарды жүктеуден бас тарта алады. Сонымен қатар, «мөрленген» пакеттерді де қолдайды, онда Classloader бір пакетке Java сыныптарының жүктелуіне тек олардың барлығы бірдей тұлғалармен қол қойылған жағдайда ғана рұқсат береді. Бұл қасақана жасалған кодтың қолданыстағы пакетке енгізіліп, пакеттік ауқымдағы сыныптар мен деректерге қол жеткізуіне жол бермейді. JAR файлдарының мазмұны кері инженерияны қиындату үшін бүркемеленуі мүмкін.
Developers can digitally sign JAR files. In that case, the signature information becomes part of the embedded manifest file. The JAR itself is not signed, but instead every file inside the archive is listed along with its checksum; it is these checksums that are signed. Multiple entities may sign the JAR file, changing the JAR file itself with each signing, although the signed files themselves remain valid. When the Java runtime loads signed JAR files, it can validate the signatures and refuse to load classes that do not match the signature. It can also support 'sealed' packages, in which the Classloader will only permit Java classes to be loaded into the same package if they are all signed by the same entities. This prevents malicious code from being inserted into an existing package, and so gaining access to package scoped classes and data. The content of JAR files may be obfuscated to make reverse engineering more difficult.
Орындалатын JAR файлдары
Орындалатын Java бағдарламасы, бағдарлама пайдаланатын кез келген кітапханалармен бірге JAR файлына жинақталуы мүмкін. Орындалатын JAR файлдарында кіру нүктесі класын "Main Class: myPrograms.MyClass" деп көрсететін манифест болады және нақты Class Path (cp аргументі назарға алынбайды). Кейбір операциялық жүйелер оларды екі рет шерту арқылы тікелей іске қоса алады. Көбінесе командалық жолдан "java -jar foo.jar" арқылы шақырылады. Көптеген платформаларда жергілікті іске қосу құралдарын жасауға болады. Мысалы, Windows EXE файлдарын пайдалануды ұнататын Microsoft Windows қолданушылары JSmooth, Launch4J, WinRun4J немесе Nullsoft Scriptable Install System сияқты құралдарды жеке JAR файлдарын орындалатын файлдарға айналдыру үшін пайдалана алады.
An executable Java program can be packaged in a JAR file, along with any libraries the program uses. Executable JAR files have the manifest specifying the entry point class with Main Class: myPrograms. MyClass and an explicit Class Path (and the cp argument is ignored). Some operating systems can run these directly when clicked. The typical invocation is java jar foo. jar from a command line. Native launchers can be created on most platforms. For instance, Microsoft Windows users who prefer having Windows EXE files can use tools such as JSmooth, Launch4J, WinRun4J or Nullsoft Scriptable Install System to wrap single JAR files into executables.
Манифест
Манифест файлы – JAR ішіндегі метадеректер файлы. Ол кеңейтімдер мен пакеттерге қатысты деректерді анықтайды. Ол бөлімдерге бөлінген атау-мәнді жұптардан тұрады. Егер JAR файлы орындалатын файл ретінде қолданылуы тиіс болса, манифест файлы қолданбаның негізгі класын көрсетеді. Манифест файлы MANIFEST.MF деп аталады. Манифест каталогы сығылған архивтің алғашқы жазбасы болуы керек.
A manifest file is a metadata file contained within a JAR. It defines extension and package related data. It contains name–value pairs organized in sections. If a JAR file is intended to be used as an executable file, the manifest file specifies the main class of the application. The manifest file is named MANIFEST. MF. The manifest directory has to be the first entry of the compressed archive.
Сипаттамалар
Манифест ресми орналасқан жері META-INF/MANIFEST.MF болып табылады. Мұрағатта тек бір манифест файлы болуы мүмкін және ол міндетті түрде сол жерде орналасуы керек. Java Development Kit 1.0 нұсқасымен жасалған JAR файлының манифест файлының мазмұны төмендегідей: Манифест нұсқасы: 1.0.
The manifest appears at the canonical location META INF/MANIFEST. MF. There can be only one manifest file in an archive and it must be at that location. The content of the manifest file in a JAR file created with version 1.0 of the Java Development Kit is the following. Manifest Version: 1.0
Атау мен оның мәні арасында қос нүктемен бөлінеді. Стандартты манифест манифест спецификациясының 1.0 нұсқасына сәйкес екенін көрсетеді. Манифест мұрағатқа жинақталған басқа файлдар туралы ақпаратты қамтуы мүмкін. Манифест мазмұны JAR файлының мақсатына байланысты. Стандартты манифест файлы басқа файлдар туралы қандай ақпаратты жазу керектігі туралы ешқандай болжам жасамайды, сондықтан оның бір жолы тек өзі туралы деректерді қамтиды. Ол UTF-8 кодировкасында болуы керек.
The name is separated from its value by a colon. The default manifest shows that it conforms to version 1.0 of the manifest specification. The manifest can contain information about the other files that are packaged in the archive. Manifest contents depend on the intended use for the JAR file. The default manifest file makes no assumptions about what information it should record about other files, so its single line contains data only about itself. It should be encoded in UTF 8.
Арнайы мақсаттағы манифест тізбегі
Тек архивтеу үшін ғана жасалған JAR файлдары MANIFEST.MF файлынан пайдаланбайды. JAR файлдарын қолданудың көп бөлігі қарапайым архивтеу және сығудан асып түседі және манифест файлында арнайы ақпаратты талап етеді.
JAR files created only for the purpose of archiving do not use the MANIFEST. MF file. Most uses of JAR files go beyond simple archiving and compression and require special information in the manifest file.
Ерекшеліктері
Манифест әзірлеушілерге өздерінің jar файлдары үшін бірнеше пайдалы мүмкіндіктерді анықтауға мүмкіндік береді. Қасиеттер кілт-мәнді жұптар түрінде беріледі.
The manifest allows developers to define several useful features for their jars. Properties are specified in key value pairs.
Қолданбалар
Егер қосымша JAR файлында болса, Java виртуалды машинасы қосымшаның кіру нүктесін білуі керек. Кіру нүктесі – `public static void main(String[] args)` әдісі бар кез келген сынып. Бұл ақпарат манифесттің "Main Class" (Негізгі сынып) тақырыбында көрсетіледі, оның жалпы форматы:
If an application is contained in a JAR file, the Java Virtual Machine needs to know the application's entry point. An entry point is any class with a public static void main(String[] args) method. This information is provided in the manifest Main Class header, which has the general form:
`Main Class: com.example.MyClassName`
Main Class: com. example. MyClassName
Бұл мысалда, қосымша іске қосылғанда `com.example.MyClassName.main` орындалады.
In this example com. example. MyClassName. main executes at application launch.