Ubah cakupan menjadi compile
:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Yang - karena ini adalah ruang lingkup default yang sesuai dengan meninggalkan definisi ruang lingkup sama sekali - jumlah yang sama untuk jenisnya:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
Lihat ini:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html untuk informasi rinci tentang pelingkupan.
Berikut adalah info singkat untuk latar belakang Anda:
Anda menentukan driver JDBC untuk memiliki cakupan runtime
. Sebagian besar IDE akan mengabaikan cakupan dan menambahkan semua dependensi Anda ke mereka classpath (misalnya classpath yang digunakan saat Anda menjalankan sesuatu di luar Eclipse. Dengan cakupan runtime
Anda memberi tahu pakar bahwa itu tidak boleh mengemas ketergantungan itu ke dalam toples terakhir Anda karena lingkungan eksekusi akan "menyediakan ketergantungan itu pada runtime
. Misalnya. Anda harus menambahkannya secara manual ke classpath saat memanggil toples Anda atau mengubah cakupannya menjadi compile
yang akan menyebabkan toples driver dikemas di dalam toples Anda dan tersedia saat runtime.