質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

0回答

1940閲覧

外部jarファイル(H2Database)をeclipse以外の開発環境でも使いたい

Mopu

総合スコア5

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

1グッド

1クリップ

投稿2020/09/28 02:10

編集2020/09/28 02:11

前提・実現したいこと

スッキリわかるJava入門実践編の12章にて、外部jarファイルであるH2Databaseを用いたデータベースアクセスを行いたいのですが、eclipse以外の環境でもjarファイルにクラスパスを通す方法が分からずに困っております。
eclipse上での実行は一応https://para-pore.com/eclipse-h2database/
を参考にして出来ております。

発生している問題・エラーメッセージ

通常のWindowsのpowershell環境で実行しています
h2-1.4.200.jarは実行ファイル(java12_1.java)と同じフォルダ内(C:\java\test)に配置しています

PS C:\java\test> javac java12_1.java PS C:\java\test> java java12_1 -cp h2-1.4.200.jar java.lang.ClassNotFoundException: org.h2.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:340) at java12_1.main(java12_1.java:9) java.sql.SQLException: No suitable driver found for jdbc:h2:~/rpgdb at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251) at java12_1.main(java12_1.java:17)

該当のソースコード

Java

1import java.sql.*; /* java.sqlをインポートしておく */ 2public class java12_1 { 3 public static void main(String[] args) { 4 5 // ********** リスト12-1ここから(import文は上記) ********** 6 // STEP 0: 事前準備(JAR配置を含む) 7 try { 8 9 Class.forName("org.h2.Driver"); 10 } catch(ClassNotFoundException e) { 11 e.printStackTrace(); /* ドライバJARが見つからない場合の処理(*)*/ 12 } 13 /* : */ 14 Connection con = null; 15 try { 16 // STEP 1: データベースの接続 17 con = DriverManager.getConnection("jdbc:h2:~/rpgdb"); /* JDBC URLを指定 */ 18 // STEP 2: 送信処理 19 /* ******************************* 20 メインのDB操作処理(後述します) 21 ****************************** */ 22 } catch(SQLException e) { 23 e.printStackTrace(); /* 接続やSQL処理の失敗時の処理(*)*/ 24 } finally { 25 // STEP 3: データベース接続の切断 26 if(con != null) { 27 try { con.close(); } catch(SQLException e) { 28 e.printStackTrace(); /* 切断失敗時の処理(*)*/ 29 } 30 } /* *の箇所は必要に応じて適切なエラー処理を記述します */ 31 } 32 // ********** リスト12-1ここまで ********** 33 34 } 35}

試したこと

-cpコマンドを適用するタイミングを変えたりh2-1.4.200.jarの配置場所を変えて絶対パス指定で実行したり

補足情報(FW/ツールのバージョンなど)

Java, Javacのバーションは以下の通りです

PS C:\java\test> java -version
openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

PS C:\java\test> javac -version
javac 14.0.2

A-pZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問