Dzisiejszy post będzie podzielony na 2 części, część pierwsza dotyczyć będzie plików JAD, a druga plików JAR.
Część I
JAD oznacza Java Application Descriptor, jest to specjalny plik przygotowywany (najczęściej) przed IDE w procesie budowania projektu i służy, jak nazwa wskazuje, do opisu pliku zawierającego samą aplikację. Plik JAD zawiera między innymi:
- informacje o rozmiarze aplikacji
- jej nazwę
- wersję
- wydawcę (autora)
- informacje o ikonie
- komentarz
- informacje o wymaganej wersji MIDP / CLDC
- w dalszej części posta znajdziesz link do tabeli z wyszczególnionymi opcjami
Najbardziej docenią go użytkownicy, którzy chcą zainstalować program poprzez internet, dzięki temu, że ściągną tylko plik JAD, mogą oni najpierw zobaczyć rozmiar właściwego pliku i go pobrać lub zrezygnować gdy ten rozmiar jest za duży (np. ze względu na koszty transferu danych). Plik jad musi wskazywać położenie pliku jar (jako ścieżkę względną, np. HelloMIDlet.jar, lub jako położenie w sieci np. example.com/HelloMIDlet.jar)
Część II
JAR oznacza Java Archive, jest to tak naprawdę zwykłe archiwum (możesz sprawdzić to próbując je rozpakować zwykłym programem, którego używasz na co dzień). Zawiera ono w sobie skompilowane do bytecodu (pliki *.class) klasy programu, pliki pomocnicze (np. ikony, grafiki). Ważnym elementem tego pliku jest tzw. plik manifestu. Posiada on składnię podobną do pliku JAD i zawiera podobne informacje. Plik ten znajduje się w folderze META-INF i nazywa się MANIFEST.MF.
Tabela zawierająca nazwy atrybutów i informacje gdzie mogą(May)/muszą(Must) wystąpić:
|
Attribute
|
Manifest
|
JAD
|
|
MIDlet-Name
|
Must
|
Must
|
|
MIDlet-Version
|
Must
|
Must
|
|
MIDlet-Vendor
|
Must
|
Must
|
|
MIDlet-Jar-URL
|
|
Must
|
|
MIDlet-Jar-Size
|
|
Must
|
|
MIDlet-Install-Notify
|
May
|
May
|
|
MIDlet-Delete-Notify
|
May
|
May
|
|
MIDlet-Delete-Confirm
|
May
|
May
|
|
MIDlet-Info-URL
|
May
|
May
|
|
MIDlet-Description
|
May
|
May
|
|
MIDlet-Icon
|
May
|
May
|
|
MicroEdition-Profile (1)(2)
|
Must
|
Must
|
|
MicroEdition-Configuration (1)(3)
|
Must
|
Must
|
|
MIDlet- (1)(4)
|
Must
|
Must
|
|
MIDlet-Push- (5)
|
May
|
May
|
|
MIDlet-Data-Size
|
May
|
May
|
|
MIDlet-Permissions
|
May
|
May
|
|
MIDlet-Permissions-Opt
|
May
|
May
|
pobrane ze strony: http://developers.sun.com/mobility/midp/ttips/getAppProperty/
Nam jednak będą wystarczały te podstawowe atrybuty o których wspomniałem na początku.
Aby nauczyć się “składni” pliku JAD i manifestu najlepiej podglądnij te 2 pliki w naszej pierwszej aplikacji.
Niedługo dopiszę informacje jak zmieniać te właściwości z poziomu środowiska (co jest o wiele łatwiejsze i przyjemniejsze).
Today’s post will be divided into 2 parts, first will cover JAD files and second will be about JARs.
Part I
JAD stands for Java Application Descriptor, it’s a special file prepared (mostly) by IDE in the process of building/compiling project. It’s used (as the name indicates) to describe file containing application (JAD doesn’t contain application). JAD’s are used to set/provide information about program’s attributes like:
- information about size
- application’s name
- version
- vendor (author)
- icon path
- comment
- MIDP/CLDC requirements
It will be mostly appreciated by users, who want for example to install program over the internet. They need only to download JAD, than they’ll be able to see programs requirements and size, and decide if they really want do download it or resigin (for example if data transfer costs are to high).
JAD file has to provide informaiton about application’s path, it might be only relative path (like: HelloMIDlet.jar) or location in the web (like: example.com/HelloMIDlet.jar) then jar file will be downloaded (of course after confirmation from user).
Part II
JAR stands for Java Archive, it’s really normal zip archive (you can unzip it using your normal program that you use everyday). It contains compiled versions of your classes (files *.class), additional files (like: graphics, icons, text files). It has also very important file MANIFEST.MF in
META-INF directory. This file is very similar to JAD.
Table containing all attributes names and information where it might/must occur:
| Attribute |
Manifest |
JAD |
MIDlet-Name |
Must |
Must |
MIDlet-Version |
Must |
Must |
MIDlet-Vendor |
Must |
Must |
MIDlet-Jar-URL |
|
Must |
MIDlet-Jar-Size |
|
Must |
MIDlet-Install-Notify |
May |
May |
MIDlet-Delete-Notify |
May |
May |
MIDlet-Delete-Confirm |
May |
May |
MIDlet-Info-URL |
May |
May |
MIDlet-Description |
May |
May |
MIDlet-Icon |
May |
May |
MicroEdition-Profile (1)(2) |
Must |
Must |
MicroEdition-Configuration (1)(3) |
Must |
Must |
MIDlet- (1)(4) |
Must |
Must |
MIDlet-Push- (5) |
May |
May |
MIDlet-Data-Size |
May |
May |
MIDlet-Permissions |
May |
May |
MIDlet-Permissions-Opt |
May |
May |
from: http://developers.sun.com/mobility/midp/ttips/getAppProperty/
For us only some attributes will be useful (they are listed in part II). To learn syntax of files JAD and manifest you can just look at them in our first application.
Soon, I’ll be writing about how to set and modify application’s attributes within Netbeans, what is much easier and pleasant.