Beberapa konteks dengan kesalahan jalur yang sama menjalankan layanan web di Eclipse menggunakan Tomcat

130

Ini adalah kesalahan yang saya dapatkan ketika saya membuat layanan web Axis2 pertama saya menggunakan Eclipse. Setelah saya menulis kelas, saya membuat layanan web dengan Apache Axis2. Ketika saya mengklik tombol start server di gerhana itu memberikan pesan kesalahan:

Tidak dapat menerbitkan konfigurasi server untuk Tomcat v6.0 Server di localhost.
Beberapa konteks memiliki jalur "/ FirstApache".

FirstApache adalah proyek web dinamis yang saya buat sebelumnya. Saya memilih proyek web yang benar dari bagian konfigurasi di panduan layanan web.

Bagaimana saya bisa memperbaikinya?

kkk
sumber

Jawaban:

276

Cari server.xmlfile dan periksa <Context>tag Anda , mungkin ada beberapa definisi untuk jalur yang sama. Hapus duplikat dan itu akan bekerja untuk Anda.

Lihat jawabannya di sini .

Memformat file xml ( control+ shift+ f) secara otomatis karena <Context>tag kedua mungkin berada di baris yang sama, tetapi di luar viewport dan sangat jauh dari yang terlihat.

Alex Ciminian
sumber
13
Anda dapat menemukan file server.xml di workspace \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf (ubah tmp0 jika ini bukan server default gerhana Anda)
Repoker
Saya mendapat masalah ini setelah saya membuat salinan proyek web dinamis di eclipse java ee dan mencoba menjalankan JSP di salinan sebagai gantinya. Bagaimana saya memperbaiki masalah ini?
Erran Morad
Harus dilindungi untuk menghindari "terima kasih" yang tidak berguna lainnya. Pilihan suara untuk jawaban lebih baik daripada komentar terima kasih.
Dwhitz
Terima kasih, ini berhasil, tetapi saya bingung mengapa duplikasi ini terjadi?
Sandip S.
Solusi ini masih berfungsi, saya menggunakan Tomcat 8.5 di Eclipse V2018-12
Raymund Arthur
70

Di STS / Eclipse buka "project explorer" atau "package explorer" dan ada folder yang disebut "server." Buka dan Anda akan menemukan server.xmlfile. Di dalam file ini di bagian bawah Anda menemukan definisi seperti

<Context docBase="myproject" path="/myproject" reloadable="true"
   source="org.eclipse.jst.jee.server:myproject"/>

Anda mungkin menemukan duplikat dengan definisi yang sama yang harus Anda hapus.

Daniel Adenew
sumber
1
Menambahkan penghapusan server ditambahkan, baris ini sekali lagi secara otomatis
Vinayak Shedgeri
Jika aplikasi tidak memulai bahkan setelah ini, buka tab "Server" di sebelah Konsol dan hapus semua modul yang terletak di dalam dropdown nama server. Jalankan kembali proyek setelah ini
Sameer Sinha
41

Di Eclipse, pergi ke proyek Server . Buka pohon untuk versi Tomcat yang Anda gunakan. Buka file server.xml dan verifikasi tag Konteks Anda.

Angie Echevarria
sumber
28

Dalam IDE gerhana Anda pada penjelajah proyek acess server.xml seperti di:

masukkan deskripsi gambar di sini

Dan hapus tag konteks dengan duplikat referensi untuk proyek Anda:

masukkan deskripsi gambar di sini

Fernando Gomes
sumber
16

Pergi ke server.xmldan Cari "Context"tag dengan nama properti "docBase".

Hapus garis duplikat di sini. Kemudian cobalah untuk me-restart server.

Sireesh Yarlagadda
sumber
12

Pergi ke proyek Server di gerhana, di bawah konfigurasi server runtime Anda (dalam kasus saya Server Tomcat v7.0 di localhost-config) pergi ke server.xml file lalu cari tag <context>, biasanya Anda akan menemukan lebih dari satu tag konteks , hapus dan jalankan aplikasi Anda di server yang sesuai yang akan berfungsi sekarang.

dalam kasus saya, saya telah menemukan tag Konteks duplikat:

<Context docBase="my-project" path="/my-project" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/&gt;&lt;Context docBase="my-project" path="/smartphone-selfcare" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/></Host>
sofiene zaghdoudi
sumber
10

Dalam gerhana menggunakan kucing jantan Anda hanya membuka file server.xml ini dan menemukan tag Konteks dan di sini Anda melihat nama konteks Anda lebih dari satu Anda hanya menghapus konteks yang tidak berguna dan restart server Anda itu akan berfungsi ....

masukkan deskripsi gambar di sini

Zeeshan Akhter
sumber
5
  1. Di Properti proyek Anda, pilih "Pengaturan Proyek Web".
  2. Ubah "Root konteks".
  3. Bersihkan server Anda
  4. sekarang Anda dapat me-restart server Anda
Fakher
sumber
Solusi luar biasa untuk pengembang menggunakan lebih dari satu contoh aplikasi yang sama di lokasi yang berbeda di workstation mereka. Saya telah menemukan bahwa tidak semua instalasi Eclipse / Tomcat memiliki tag <Context> di file server.xml mereka.
Tim Mindsect
5

Eclipse >> proyek explorer >> server >> server.xml >> tag >> hapus duplikat tag proyek Anda

debika sadhukhan
sumber
3

Cukup hapus server di Eclipse dan tambahkan lagi tomcat server. daripada mematikan tomcat dalam file tomcat / bin / shutdown.bat dan memulai server di gerhana.

Phoenix
sumber
2

Cobalah untuk menghapus server tomcat yang ada di konsol server. Jika Anda tidak memiliki konsol maka Anda dapat pergi ke "Tampilkan tampilan -> server", hapus server dengan mengklik kanan padanya, lalu tambahkan server baru.

chethan bhounsley g
sumber
2

Jika Anda menggunakan Tomcat 7 dan Eclipse, klik pada server Tomcat lalu buka tab modul. Di sana Anda akan menemukan entri duplikat. Hapus entri dan pindahkan aplikasi. Anda baik pergi sekarang.

SamDJava
sumber
2

Pada catatan terkait, jika Anda telah menyalin proyek atau di tas apa pun, memiliki jalur konteks yang sama untuk 2 proyek 'aktif', Anda harus mengubah jalur konteks salah satunya, kemudian membersihkan pengaturan server kucing jantan, kemudian menerbitkan kembali server

lihat jawaban lebih detail ini

penguinsource
sumber
1

Saya punya masalah itu sebelumnya. Saya baru saja menyelesaikannya dengan memperluas pohon kucing jantan dan menghapus folder yang menyebabkan bentrokan. dalam kasus Anda adalah /FirstApache. setelah Anda menghapusnya. kemudian Anda jalankan kembali, Anda harus bisa lari. Jika itu terjadi lagi, hapus dan coba lagi.

aPEARR
sumber
0

Hapus spasi atau baris kosong di server.xml atau context.xml di awal kode Anda

DHARMA RAJU
sumber
0

Dalam kasus saya, saya menemukan duplikat path di Server / Tomcat5.5 di localhost-config / server.xml di bawah tag. Menghapus duplikat menyelesaikan masalah.

UANG
sumber
0

Hapus org.eclipse.wst.server.core dan org.eclipse.wst.server.ui dari .metadata / .plugins dari wrokspace

hapus server dari eclipse kemudian konfigurasi ulang server di eclipse.

Vivek Kamble
sumber
0

Kesalahan ini terjadi ketika Anda menyalin proyek daripada melewatinya, dan kemudian Anda mengubah nama proyek itu.

dalam kasus seperti itu, ikuti langkah-langkah berikut.

Langkah-1: Anda perlu mengedit file web.xml Anda. menghapus servlet dan servlet-mapping dari proyek sebelumnya.

Langkah-2: sampai ke SERVER -> server.xml -> cari konteks

Contoh: - Konteks docBase = "JSPandServletDemo" path = "/ JSPandServletDemo" reloadable = "true" source = "org.eclipse.jst.jee.server: JSPandServletDemo" />

sekarang Anda hanya perlu mengubah pathname ke nama proyek Anda saat ini.

Semoga Sukses Selamat Coding :)

Akib Sayyed
sumber
-1

Jika Anda menggunakan STS dan server Anda sangat penting. Cukup klik dua kali pada server dan pergi ke> tab Modul> tampilan. Mengkonfigurasi Modul Web di server ini.> Anda dapat menghapus modul dan menjalankan sekali lagi.

Ganesh Giri
sumber
-1
 //Trying to do more than one thing to the object in the same context, 
//the solution is to work on single context objects

public class SingletonContext<TContext>
    where TContext: DbContext,new()
{
    private static TContext _context;

    private SingletonContext()
    {

    }
    public static TContext GetInstance()
    {
        if (_context == null)
        {
            _context = new TContext();
        }
        return _context;
    }

}
Tugay ÜNER
sumber