BD-Jの起動情報が記述されているファイルです
AVCHD
|−BDMV
|−BDJO
|−00000.bdjo
バイナリファイルになっており、バイナリエディタで開くと、jarファイル名や起動クラスなどが記述されている事がわかります
プログラムを動かす上で、とても重要な情報が記述されたファイルです
HD cookbookの中にある bdjo.jarを使用して生成可能です
各種情報を記述した bdjo.xml(ファイル名は自由)を作成して、それを通します
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bdjo>
<appCacheInfo>
<entries>
<language>*.*</language>
<name>00000</name>
<type>1</type>
</entries>
</appCacheInfo>
<applicationManagementTable>
<applications>
<applicationDescriptor>
<baseDirectory>00000</baseDirectory>
<binding>TITLE_BOUND_DISC_BOUND</binding>
<classpathExtension>/00000</classpathExtension>
<iconFlags>0x0</iconFlags>
<iconLocator></iconLocator>
<initialClassName>org.homebrew.MyXlet</initialClassName>
<priority>1</priority>
<profiles>
<majorVersion>1</majorVersion>
<microVersion>0</microVersion>
<minorVersion>0</minorVersion>
<profile>1</profile>
</profiles>
<visibility>V_11</visibility>
</applicationDescriptor>
<applicationId>0x4000</applicationId>
<controlCode>0x1</controlCode>
<organizationId>0x56789abc</organizationId>
<type>0x1</type>
</applications>
</applicationManagementTable>
<fileAccessInfo>.</fileAccessInfo>
<keyInterestTable>0xffe00000</keyInterestTable>
<tableOfAccessiblePlayLists>
<accessToAllFlag>true</accessToAllFlag>
</tableOfAccessiblePlayLists>
<terminalInfo>
<defaultFontFile>00000</defaultFontFile>
<initialHaviConfig>HD_1920_1080</initialHaviConfig>
<menuCallMask>false</menuCallMask>
<titleSearchMask>false</titleSearchMask>
</terminalInfo>
<version>V_0200</version>
</bdjo>
作成した xmlファイルに、bdjo.jarを実行して、00000.bdjoを生成します
java -cp bdjo.jar:tools.jar -jar bdjo.jar bdjo.xml 00000.bdjo
できた 00000.bdjoファイルを、BDJOフォルダに入れれば、その定義でプログラムが起動するようになります
initialClassNameタグを変更する事で、好きなクラスから起動する事ができます
例えば、sampleクラスから起動したい場合は、
<initialClassName>sample</initialClassName>
と記述すれば良いです
Javaに慣れていない人用に書いておきますが、
sampleクラスで起動すると言う事は、ファイル名も sample.javaにしなければなりません
また、「.」区切りはフォルダ名を意味します
<initialClassName>org.sample</initialClassName>
と書いたなら、root/org/sample.javaの位置にクラスファイルがある事を意味します
この辺りの意味がわからない人は、Javaについて説明されているサイトを一度見た方が良いでしょう
以下のように jarファイルを2つに分けたとします
AVCHD
|−BDMV
|−JAR
|−00000.jar
|−00001.jar
どうやって隣の 00001.jarファイルをオープンすればいいの? と考えるとハマります
なぜなら、考え方そのものが間違っているからです
Javaの場合、他の jarファイルにアクセスするには、パスを通す作業を行います
00000.jarと 00001.jarにパスを通しておけば、まるで1つのファイルのようにアクセス可能になります
クラスパスの定義は classpathExtensionタグにて行います
<classpathExtension>/00000;/00001</classpathExtension>
と、パスを通したい jarファイル分だけ「;」区切りで追加します
※ここのファイル名には数字5ケタと言う制限があります
・applicationIdタグや organizationIdタグはデータ保存時に重要なタグなので、不用意に変更しない
・クラスパスを追加した jarファイルは、同じフォルダ構造で無ければリソースファイルにアクセスできない