CDKでorg.openscience.cdk.libio.joelib.Convertorクラスを用いるためには、joelib.jarを含めてコンパイルする必要があります。
基本的なコンパイルの手順は、以下のとおりです。
1. cdk-source-20060714.tar.gzを展開する。
2. コンパイルの実行:
cdk-source-20060714> ant dist-large
この操作で、cdk-source-20060714\dist\jarの下にcdk-svn-2006XXXX.jarができます。
joelib.jarを含めてコンパイルするためには、cdk-source-20060714\jar\libio下にjoelib.jarを置いて、コンパイルするだけでOKだと思ったのですが、コンパイルできませんでした。
cdk-source-20060714> ant info
によると、"JOELib found: true" になっているので、認識はされているはずなのですが.... 私はantのbuild.xmlをまともに理解できないため、ここで断念しました。
とりあえず、Convertorクラスを使うために、以下の手順を取りました。
1. cdk-source-20060714\src\org\openscience\cdk\libio\joelibの下にConvertor.javaがあるので、適当なフォルダにコピーする(ここではC:\work)。
2. クラスパスにcdk-20060714.jarとjoelib.jarを加えて、Convertor.javaのコンパイルを実行。
C:\work> javac Convertor.java
ただし、Convertor.javaを以下のように修正した。
36行目:
org.openscience.cdk.Element e = ef.getElement(atom.getAtomicNum());
-> org.openscience.cdk.Element e = (Element)ef.getElement(atom.getAtomicNum());
173行目:
convertedBond.setBegin(convert(bond.getAtomAt(0)));
-> convertedBond.setBegin(convert((Atom)bond.getAtomAt(0)));
174行目:
convertedBond.setEnd(convert(bond.getAtomAt(1)));
-> convertedBond.setEnd(convert((Atom)bond.getAtomAt(1)));
252行目:
converted.addAtom(convert(mol.getAtomAt(i), coordType));
-> converted.addAtom(convert((Atom)mol.getAtomAt(i), coordType));
import org.openscience.cdk.Element の追加
この操作で、Convertor.classができる。
3. Convertor.classをcdk-20060714.jarに加える。
> mkdir tmp
> copy cdk-20060714.jar tmp
> cd tmp
> jar xvf cdk-20060714.jar
> mkdir org\openscience\cdk\libio\joelib
> copy C:\work\Covertor.class org\openscience\cdk\libio\joelib
> rm cdk-20060714.jar
> jar cvf cdk-new.jar *
jarのオプションを使えば、もう少しスマートな方法があると思いますが、今回はこのように行いました。
以上の操作で作成されたcdk-new.jarを用いれば、Convertorクラスが利用できます。
![banner_02.gif](/contents/017/824/928.mime1)
人気ブログランキング(クリックして応援してね)