Java のクラスパス(Classpath)を通す!(vscode, JDBCドライバ)

(※このページは2020年4月24日に更新)

この記事は Java でデータベースとのやりとりに必要な JDBC ドライバの導入方法についてのメモです。
(ここでは MySQL を例として紹介しています)

Eclipse を使った方法は簡単に見つかるのですが、CUI or VSCode 環境下での方法が中々見つからなかったので、同様にお困りの方の参考になれば嬉しいです。

実行環境

  • MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
  • OS : macOS Catalina ver. 10.15.1
  • Java OpenJDK : version “11.0.7”
  • Visual Studio Code : version “1.44.2”

JDBC ドライバのダウンロード (MySQL 用)

まずは MySQL のページ (https://dev.mysql.com/downloads/connector/j/) から JDBC ドライバをインストールします。

上記ページに行くと最新版 (記事執筆時点 : Connector/J 8.0.19) がダウンロードできるのですが、OS 選択画面には mac OS がありません。

macOS を使用している場合は
1. “Platform Independent” を選び
2. ZIP Archive を選択してダウンロードしてください (tar でも良いですが)

“Download” をクリックすると会員登録を求められますが、登録せずにダウンロードのみしたい場合は “No thanks, just start my download” を選択してください。

ダウンロードしたフォルダを解凍すると “mysql-connector-java-8.0.19.jar” というファイルが見つかるので、このファイルを適当な場所に置きます。


mac の場合 /Library/Java/Extensions/ に置くと java ファイルの実行時に .jar ファイルが自動的に読み込まれるそうですが、私の環境では正常に実行されませんでした。
同様の場合は以下の方法を試してみてください。


Java 実行時に JDBC ドライバを使用

ここでは例として Test.java というファイルを実行して MySQL に接続することを想定します。

CUI (コマンドライン) での実行

通常コマンドラインでは Java ファイルを以下のように javac でコンパイルした後に実行します

javac Test.java
java Test

ただしこの方法では先ほどダウンロードした JDBC ドライバが読み込まれておらずエラーが表示されると思います。

そこで、今回は以下のようにして JDBC ドライバを明示的に示してコンパイル & 実行を行います

// コンパイル


javac -cp "導入したい .jar ファイルの PATH": Test.java

// .jar ファイルを/Library/Java/Extensions/ に置いた場合
javac -cp /Library/Java/Extensions/mysql-connector-java-8.0.19.jar: Test.java
// 実行


java -cp "導入したい .jar ファイルの PATH": Test

// .jar ファイルを/Library/Java/Extensions/ に置いた場合
java -cp /Library/Java/Extensions/mysql-connector-java-8.0.19.jar: Test

Visual Studio Code (VSCode) での実行

VSCode で実行する場合は Project フォルダ直下にある .classpath ファイルに以下のコードを追加すると、java ファイル実行時に JDBC ドライバを自動的に読み込んでくれます

<classpathentry kind="lib" path="[導入したい .jar ファイルの PATH]"/>

// .jar ファイルを/Library/Java/Extensions/ に置いた場合
classpathentry kind="lib" path="/Library/Java/Extensions/mysql-connector-java-8.0.19.jar"/>

VSCode で .classpath ファイルが表示されない場合は Setting 画面で “files.exclude” と検索し、**/.classpath の行を削除してください。
これによって非表示設定が解除され、.classpath を見つけられると思います。


// .classpath ファイルの例
// 8行目に .jar ファイルのパスを入力しています。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="lib" path="/Library/Java/Extensions/mysql-connector-java-8.0.19.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

VSCode の方法については Windows でも同様に利用できるはずです (試してはいませんが)。

Java の開発については現在も Eclipse が主流なため、VSCode 関連の記事は相対的に少ないです。
そのためやむを得ず Eclipse を使っている方もいるかもしれません。

ただし VSCode は拡張性などの点でより優れたアプリだと思うので是非使っていただきたいです。

また有益そうな情報があれば更新したいと思います。

Comments

タイトルとURLをコピーしました