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ファイルは、同じフォルダ構造で無ければリソースファイルにアクセスできない