Nhiều bối cảnh có cùng một lỗi đường dẫn chạy dịch vụ web trong Eclipse bằng Tomcat


130

Đây là lỗi mà tôi gặp phải khi tôi tạo dịch vụ web Axis2 đầu tiên của mình bằng Eclipse. Sau khi tôi viết lớp, tôi đã tạo dịch vụ web bằng Apache Axis2. Khi tôi nhấp vào nút máy chủ bắt đầu trong nhật thực, nó sẽ đưa ra thông báo lỗi:

Không thể xuất bản cấu hình máy chủ cho Máy chủ Tomcat v6.0 tại localhost.
Nhiều bối cảnh có đường dẫn "/ FirstApache".

FirstApache là dự án web động mà tôi đã tạo trước đây. Tôi đã chọn đúng dự án web từ phần cấu hình trong trình hướng dẫn dịch vụ web.

Làm thế nào tôi có thể sửa lỗi này?

Câu trả lời:


276

Tìm kiếm server.xmltệp và kiểm tra <Context>thẻ của bạn , có thể có nhiều định nghĩa cho cùng một đường dẫn. Loại bỏ các bản sao và nó sẽ làm việc cho bạn.

Kiểm tra câu trả lời ở đây .

Tự động định dạng tệp xml ( control+ shift+ f) vì <Context>thẻ thứ hai có thể nằm trên cùng một dòng, nhưng bên ngoài chế độ xem và thực sự cách xa tầm nhìn.


13
Bạn có thể tìm thấy tệp server.xml trong không gian làm việc \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf (thay đổi tmp0 trong trường hợp đây không phải là máy chủ mặc định nhật thực của bạn)
Repoker

Tôi đã gặp vấn đề này sau khi tôi tạo một bản sao của một dự án web động trong nhật thực java và đã cố gắng chạy các bản sao trong bản sao thay thế. Làm sao để sửa lỗi này ?
Erran Morad

Cần được bảo vệ để tránh những "lời cảm ơn" vô dụng khác. Một phiếu bầu cho câu trả lời là tốt hơn một bình luận cảm ơn.
Dwhitz

Cảm ơn, nó hoạt động, nhưng tôi bối rối tại sao sự trùng lặp này xảy ra?
Sandip S.

Giải pháp này vẫn hoạt động, tôi đang sử dụng Tomcat 8.5 trên Eclipse V2018-12
Raymund Arthur

70

Trong STS / Eclipse, hãy chuyển đến "project explorer" hoặc "gói explorer" và có một thư mục gọi là "server". Mở nó và bạn sẽ tìm thấy server.xmltập tin. Trong tập tin này ở phía dưới, bạn tìm thấy một định nghĩa như

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

Bạn có thể tìm thấy các bản sao của cùng một định nghĩa mà bạn sẽ cần phải loại bỏ.


1
Thêm xóa các máy chủ được thêm vào, dòng này tự động thêm một lần nữa
Vinayak Shedgeri

Nếu ứng dụng không khởi động ngay cả sau này, hãy chuyển đến tab "Máy chủ" bên cạnh Bảng điều khiển và xóa tất cả các mô-đun nằm trong danh sách thả xuống của tên máy chủ. Chạy lại dự án sau này
Sameer Sinha

41

Trong Eclipse, đi đến dự án Máy chủ . Mở cây cho phiên bản Tomcat bạn đang sử dụng. Mở tệp server.xml và xác minh thẻ Bối cảnh của bạn.


28

Trong IDE nhật thực của bạn về trình thám hiểm dự án, hãy truy cập server.xml như trong:

nhập mô tả hình ảnh ở đây

Và xóa các thẻ ngữ cảnh với các tham chiếu trùng lặp cho dự án của bạn:

nhập mô tả hình ảnh ở đây


16

Đi đến server.xmlvà Tìm kiếm "Context"thẻ với tên thuộc tính "docBase".

Loại bỏ các dòng trùng lặp ở đây. Sau đó thử khởi động lại máy chủ.


12

Chuyển đến dự án Máy chủ trong nhật thực, dưới cấu hình máy chủ thời gian chạy của bạn (trong trường hợp của tôi là Máy chủ Tomcat v7.0 tại localhost-config) đi đến server.xml tệp sau đó tìm kiếm thẻ <bối cảnh>, thông thường bạn sẽ tìm thấy nhiều hơn một thẻ ngữ cảnh , xóa chúng và chạy ứng dụng của bạn trong máy chủ phù hợp sẽ hoạt động ngay bây giờ.

trong trường hợp của tôi, tôi đã tìm thấy thẻ Bối cảnh trùng lặp:

<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>

10

Trong nhật thực bằng cách sử dụng tomcat, bạn chỉ cần mở tệp server.xml này và tìm thẻ Ngữ cảnh và ở đây bạn thấy tên ngữ cảnh của bạn là nhiều hơn sau đó bạn chỉ cần xóa các bối cảnh vô dụng và khởi động lại máy chủ của mình, nó sẽ hoạt động ....

nhập mô tả hình ảnh ở đây


5
  1. Trong Thuộc tính dự án của bạn, chọn "Cài đặt dự án web".
  2. Thay đổi "Bối cảnh gốc".
  3. Làm sạch máy chủ của bạn
  4. bây giờ bạn có thể khởi động lại máy chủ của bạn

Giải pháp tuyệt vời cho các nhà phát triển sử dụng nhiều hơn một phiên bản của cùng một ứng dụng ở các vị trí khác nhau trên máy trạm của họ. Tôi đã thấy rằng không phải tất cả các bản cài đặt của Eclipse / Tomcat đều có thẻ <Context> trong tệp server.xml của chúng.
Đội ngũ Mindsect

5

Eclipse >> thám hiểm dự án >> máy chủ >> server.xml >> thẻ >> xóa thẻ trùng lặp của dự án của bạn


3

Chỉ cần xóa máy chủ trong Eclipse và thêm máy chủ tomcat một lần nữa. hơn là tắt tomcat trong tệp tomcat / bin / shutdown.bat và khởi động máy chủ trong nhật thực.


2

Cố gắng xóa máy chủ tomcat hiện có trong bảng điều khiển máy chủ. Nếu bạn không có bàn điều khiển thì bạn có thể chuyển đến "Hiển thị chế độ xem -> máy chủ", xóa máy chủ bằng cách nhấp chuột phải vào bảng điều khiển, sau đó thêm máy chủ mới.


2

Nếu bạn đang sử dụng Tomcat 7 và Eclipse, hãy nhấp vào máy chủ Tomcat và sau đó chọn tab mô-đun. Ở đó bạn sẽ tìm thấy các mục trùng lặp. Xóa cả mục nhập và triển khai lại ứng dụng. Bạn tốt để đi bây giờ.


2

Trên một lưu ý liên quan, nếu bạn đã sao chép một dự án hoặc trong bất kỳ trường hợp nào, có cùng đường dẫn ngữ cảnh cho các dự án 2 'hoạt động', bạn phải thay đổi đường dẫn ngữ cảnh của một trong số chúng, sau đó xóa cài đặt máy chủ tomcat, sau đó xuất bản lại các máy chủ

xem câu trả lời chi tiết hơn


1

Tôi đã có vấn đề đó trước đây. Tôi chỉ giải quyết nó bằng cách mở rộng cây tomcat và xóa thư mục gây ra xung đột. trong trường hợp của bạn là /FirstApache. sau khi bạn xóa nó sau đó bạn chạy lại nó, bạn sẽ có thể chạy. Nếu nó xảy ra một lần nữa, xóa nó và thử lại.


0

Xóa khoảng trắng hoặc dòng trống trong server.xml hoặc bối cảnh ở đầu mã của bạn


0

Trong trường hợp của tôi, tôi đã tìm thấy các đường dẫn trùng lặp trong Máy chủ / Tomcat5.5 tại localhost-config / server.xml trong thẻ. Loại bỏ các bản sao đã giải quyết vấn đề.


0

Xóa org.eclipse.wst.server.core và org.eclipse.wst.server.ui khỏi .metadata / .plugins của wrokspace

xóa máy chủ khỏi nhật thực sau đó cấu hình lại máy chủ trong nhật thực.


0

Lỗi này xảy ra khi bạn sao chép một dự án so với trước đó và sau đó bạn thay đổi tên của dự án đó.

trong trường hợp như vậy, hãy làm theo các bước sau.

Bước 1: bạn cần chỉnh sửa tệp web.xml của mình. loại bỏ servlet và ánh xạ servlet của các dự án trước đó.

Bước 2: đã đến SERVER -> server.xml -> tìm ngữ cảnh

Ví dụ: - Context docBase = "JSPandServletDemo" path = "/ JSPandServletDemo" reloadable = "true" source = "org.eclipse.jst.jee.server: JSPandServletDemo" />

bây giờ bạn chỉ cần thay đổi tên đường dẫn thành tên dự án hiện tại của bạn.

Chúc may mắn mã hóa hạnh phúc :)


-1

Nếu bạn đang sử dụng STS và máy chủ của bạn là Pivotal Chỉ cần nhấp đúp vào máy chủ và đi tới> tab Mô-đun> hiển thị Định cấu hình Mô-đun Web trên máy chủ này.> Bạn chỉ cần xóa mô-đun và chạy lại.


-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;
    }

}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.