Scalapb: Konflik kelas kasus dan objek

Dibuat pada 26 Okt 2015  ·  3Komentar  ·  Sumber: scalapb/ScalaPB

Setelah membuat file pb, saya tidak dapat membangun kembali proyek dengan kesalahan ini

Kesalahan: (10, 18) LoginFailed sudah didefinisikan sebagai kelas kasus LoginFailed
kelas kasus terakhir LoginFailed(

Kesalahan:(56, 8) LoginFailed sudah didefinisikan sebagai objek LoginFailed
objek LoginFailed meluas com.trueaccord.scalapb.GeneratedMessageCompanion[LoginFailed] {

Komentar yang paling membantu

Saya menemukan masalahnya. IntelliJ secara otomatis menandai dua direktori sebagai "root sumber" sehingga ia mencoba membangun kembali dua kali dengan file yang sama. Menghapus tanda folder "utama" sebagai root sumber memecahkan masalah.

Sebelum:
screen shot 2015-11-01 at 2 28 49 pm

Setelah:
screen shot 2015-11-01 at 2 26 26 pm

Semua 3 komentar

Bisakah Anda melakukan sbt clean dan coba lagi? Ini mungkin terjadi jika Anda memindahkan kelas dan Anda memiliki file Scala lama yang tergeletak di sekitar.

Jika ini masih terjadi, dapatkah Anda memposting proyek sampel di github yang dapat membantu mereproduksi masalah ini?

Ini dia: https://github.com/lapminglee/scalapb_build_conflict.git

Langkah-langkah repro:
1) Saya menggunakan IntelliJ Idea 14.1
2) Buka konsol sbt (Anda perlu menginstal plugin IntelliJ) dan ketik "bersih" dan "kompilasi"
3) Setelah dikompilasi, file yang dihasilkan akan berada di folder "target"
4) Kemudian klik membangun kembali di Build -> Rebuild Project

Saya pikir konfliknya adalah karena file yang dihasilkan secara default dibuat ke folder target dan IntelliJ mencoba membaca file dua kali.

Saya menemukan masalahnya. IntelliJ secara otomatis menandai dua direktori sebagai "root sumber" sehingga ia mencoba membangun kembali dua kali dengan file yang sama. Menghapus tanda folder "utama" sebagai root sumber memecahkan masalah.

Sebelum:
screen shot 2015-11-01 at 2 28 49 pm

Setelah:
screen shot 2015-11-01 at 2 26 26 pm

Apakah halaman ini membantu?
0 / 5 - 0 peringkat