概要
jdbcドライバも含めたjarファイルを作成する方法。
ここでは、Sample.javaというファイルと、sample-jdbc-1.0.0.jarとsample002-jdbc-1.0.0.jarというjdbcドライバを使う例を書く。
Classファイル生成
まずはclassファイルを作成する。
ドライバは:
でつなぐ。windowsの場合は;
でつなぐらしい。(未確認)
$ javac -classpath "./sample-jdbc-1.0.0.jar:./sample002-jdbc-1.0.0.jar" Sample.java
実行
$ java -cp ".:./sample-jdbc-1.0.0.jar:./sample002-jdbc-1.0.0.jar" Sample
jarファイル作成
以下コマンドでjarファイルを作成する。
$ jar cvf Sample.jar *.class
jarの中身を見てみるとこんな感じ。このまま実行するとエラーになるので、MANIFEST.MFに追記をする必要がある。
$ jar tvf Sample.jar
0 Wed Aug 04 09:47:44 JST 2021 META-INF/
66 Wed Aug 04 09:47:44 JST 2021 META-INF/MANIFEST.MF
2559 Wed Aug 04 00:56:48 JST 2021 Sample.class
MANIFESTファイルに追記
jarファイルを解凍する。
$ jar xvf Sample.jar
created: META-INF/
inflated: META-INF/MANIFEST.MF
inflated: Sample.class
解凍すると、META-INF/MANIFEST.MFというファイルがあるので、Main-Classと、jdbcドライバを使う場合はClass-Pathを追記する。jdbcドライバが複数ある場合は、スペース区切りで定義する。
META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 13.0.2 (Oracle Corporation)
+Main-Class: Sample
+Class-Path: sample-jdbc-1.0.0.jar sample002-jdbc-1.0.0.jar
再度jarファイルの作成
編集したMANIFESTファイルとjdbcドライバをjarにまとめる。
$ jar cvfm Sample.jar META-INF/MANIFEST.MF *.class sample-jdbc-1.0.0.jar sample002-jdbc-1.0.0.jar
added manifest
adding: Sample.class(in = 2559) (out= 1505)(deflated 41%)
adding: sample-jdbc-1.0.0.jar(in = 8394004) (out= 7238099)(deflated 13%)
実行
これで実行可能となる。
$ java -jar Sample.jar Sample
javadocを作る場合
ソースコード中に埋めたコメントを使ってリファレンスマニュアルを自動生成することができる。
以下コマンドを実行すると、docというディレクトリが作成され、その中にマニュアルが作成される。
$ javadoc -d doc Sample.java