0

プロジェクトのリソースフォルダー内にウォレットを保存しており、Eclipse内で次の文字列を使用してアクセスできます

final static String DB_URL = "jdbc:oracle:thin:@db_high?TNS_ADMIN="
    + (Database.class.getClassLoader().getResource("Wallet_DB")
        .getPath().replaceFirst("/",""));

ただし、それをjarにコンパイルしてからコマンドラインから実行すると、次のエラーが発生します。

Exception in thread "main" java.nio.file.InvalidPathException: Illegal
char <:> at index 4:
file:C:/Users/Me/Documents/test.jar!/Wallet_DB\ojdbc.properties

ウォレットをプロジェクトの外のjarファイルのすぐ隣に移動し、相対ファイルパスでアクセスするだけでこれを修正できることはわかっていますが、ウォレットをjar内に保持できるようにこれを修正する方法はありますか?

4

2 に答える 2

2

JDBC は、 からアクセスできるパスのみを受け入れることができますnew File(path)。したがって、「file:...」で始まるパスは無効です。

于 2020-03-17T19:31:20.180 に答える