Saya menggunakan Eclipse dan sudah lama tidak menggunakan Java. Namun, saya dapat mengompilasi kode saya pada baris perintah dengan baik dan menghasilkan .class
file yang diperlukan . Di Eclipse, ia mengeluhkan hal itu The declared package "Devices" does not match the expected package ""
. Apa artinya ini dan bagaimana cara memperbaikinya?
Kode sampel:
package Devices;
public final class DevFrequency
{
public short messageID;
public double frequency;
public short converterID;
public DevFrequency()
{
}
public DevFrequency(short _messageID,double _frequency,short _converterID)
{
messageID = _messageID;
frequency = _frequency;
converterID = _converterID;
}
}
Nama proyek saya adalah DeviceDDS
.
/src/Converters
direktori?Jawaban:
Eclipse mengharapkan paket yang dideklarasikan cocok dengan hierarki direktori - jadi Eclipse mengharapkan file Java Anda berada di direktori yang disebut "Perangkat" di bawah root sumber Anda. Saat ini sepertinya file tersebut langsung ada di root sumber Anda. Jadi buat direktori yang sesuai, dan pindahkan file ke sana.
Perhatikan bahwa biasanya, paket menggunakan huruf kecil dan menyertakan nama organisasi Anda dalam urutan DNS terbalik, mis
sumber
Coba tutup dan buka kembali file tersebut.
Ada kemungkinan untuk mendapatkan kesalahan ini dalam gerhana ketika sama sekali tidak ada yang salah dengan lokasi file atau deklarasi paket. Cobalah sebelum menghabiskan banyak waktu mencoba solusi lain ini. Terkadang gerhana menjadi bingung. Ini berhasil bagi saya dalam beberapa kesempatan. Saya menghargai ide tersebut untuk Joshua Goldberg .
sumber
Solusi 1: Satu solusi yang berhasil untuk saya ketika kesalahan ini " Paket yang dideklarasikan tidak sesuai dengan paket yang diharapkan " terjadi untuk proyek yang saya check-out dari eclipse CVS:
1. Klik kanan proyek di bilah navigasi dan klik 'hapus' 2.
Pastikan opsi ' Hapus konten proyek pada disk ' TIDAK dicentang, dan klik OK.
3. Sekarang setelah proyek dihapus, buka File -> Impor -> Umum -> Proyek yang Ada ke Ruang Kerja
4. Pilih ruang kerja Anda dari daftar direktori dan centang kotak di sebelah nama proyek Anda. Klik ' Selesai '
Solusi 2: Sekali lagi saya mendapat kesalahan ini dengan pesan berikut
Eclipse build error - java.lang.Object tidak dapat diselesaikan Saya harus mengikuti rute lain yang disebutkan di sini dan error tersebut hilang.
Sementara itu, penyelesaiannya adalah menghapus JRE System Library dari proyek dan kemudian menambahkannya kembali. Berikut langkah-langkahnya:
Semoga error tersebut teratasi ...
sumber
Saya menyelesaikan masalah dengan mengikuti langkah-langkah berikut:
Pilih proyek - Klik kanan - jalur build java.
Di tab sumber - Anda mengubah
src
menjadisrc/main/java
.Eclipse akan menyusun ulang semua proyek.
sumber
Saya mengalami masalah ini - kelas lain dalam paket saya baik-baik saja, tetapi satu kelas memiliki kesalahan. Tidak ada yang salah dengan deklarasi paket.
Saya memperbaikinya dengan melakukan
refactor->move
dan memindahkan kelas ke paket lain untuk sementara, lalurefactor->move
kembali ke paket asli.sumber
Anda harus memiliki kelas di dalam folder
Devices
.sumber
Buat paket baru di bawah proyek Anda yang disebut "Perangkat" dan tempatkan kelas Anda di dalamnya. Ini sama dengan kelas yang ditempatkan di direktori bernama "Perangkat" di folder sumber proyek Anda.
sumber
Pastikan itu
Devices
ditentukan sebagai folder sumber di properti proyek.sumber
Mendapat jenis kesalahan yang sama tetapi paket saya benar-benar benar. Ketika saya baru saja menutup dan membuka editor saya, kesalahan menghilang. Semoga ini bisa membantu dalam beberapa skenario.
sumber
Saya memperbaikinya dengan menghapus atribut "tidak termasuk" untuk paket itu di
.classpath
file saya . Hapus atribut, bukan seluruh tag, atau "src / java" tidak akan lagi menjadi folder sumber.<classpathentry excluding="com/myproject/mypackage/mysubpackage/" kind="src" path="src/java"/>
sumber
Masalah ini diatasi dengan menyebutkan nama paket
Saya memindahkan file saya Test_Steps.java yang berada di bawah paket stepDefinition
hanya dengan menambahkan paket stepDefinition masalah telah teratasi
Jadi masalah ini bisa terjadi ketika Anda memiliki paket dan Anda tidak menggunakan file kelas Anda.
Menambahkannya telah menyelesaikan masalah dan kesalahan tidak lagi muncul.
sumber
Pastikan Anda telah membuat paket yang benar. Anda mungkin mendapat kesempatan untuk membuat folder, bukan paket
sumber
Buat direktori [nama.proyek.anda] di direktori akar ruang kerja proyek Anda.
Salin * .java dari "src" ke direktori itu.
Tutup dan buka kembali proyek.
sumber
Ini terjadi pada saya ketika saya sedang memeriksa sebuah proyek dari repositori svn di eclipse. Ada file jar di folder .m2 saya yang tidak dilihat gerhana. Untuk memperbaiki masalah yang saya lakukan:
klik kanan folder proyek Configure> Convert to Maven Project
dan itu menyelesaikan masalah.
sumber
Ada sejuta jawaban, tapi ini satu lagi: salin file ke dalam paket baru, hapus paket lama dan ganti nama paket baru ke nama paket lama.
sumber
Pastikan Anda tidak menggunakan paket default. Buat paket baru dengan nama 'perangkat' dan salin kode ini di dalamnya dan gunakan.
sumber
Saya mengalami situasi seperti ini ketika saya menyalin kelas dari paket / proyek lain.
Menu-> Proyek-> Bersihkan biasanya membantu.
sumber
Dalam kasus saya, saya memilih penanda kesalahan di tab Masalah dan menghapusnya karena metode utama file Java dijalankan dengan benar. Itu adalah beberapa kesalahan di Eclipse Neon dengan banyak plugin yang telah dipasangnya.
sumber
Saya menghadapi masalah ini juga ketika saya telah mengimpor proyek yang ada ke gerhana. Itu adalah proyek gradle, tetapi saat mengimpor saya mengimpornya sebagai proyek biasa dengan mengklik Umum-> Proyek yang Ada ke Ruang Kerja. Untuk mengatasi masalah, saya telah menambahkan sifat Gradle ke proyek dengan :::: Klik kanan pada folder Proyek -> Configure-> Add Gradle Nature
sumber
Saya menggunakan Spring Tool Suite 4. Tidak dapat memahami masalahnya. Struktur direktori sesuai dengan nama paket.
sumber
Saya memiliki masalah yang sama dengan proyek maven di Eclipse IDE. Saya dapat mengatasinya dengan mengganti file .classpath dengan format yang benar. Setelah mengganti tutup dan buka proyek.
Contoh file .classpath
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" output="target/classes" path="src/main/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/webapp"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> <attribute name="test" value="true"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> </classpath>
sumber