2011-01-21 38 views
7

Vì vậy, tên dự án doanh nghiệp của tôi TestProject, có chứa TestProject-ejbTestProject-war, vì vậy khi tôi chạy dự án, url này giống như thế này locahost:8080/TestProject-war. Làm cách nào để thay đổi url này thành localhost:8080/testproject. Tôi sử dụng netbean 6.9, tôi cố gắng nhấp chuột phải vào thư mục TestProject-war trong netbean và chỉ định đường dẫn theo ngữ cảnh có dưới Run, nhưng nó vẫn tải locahost:8080/TestProject-warLàm cách nào để thay đổi đường dẫn ngữ cảnh của Dự án Doanh nghiệp của tôi

Trả lời

12

Bạn cần phải kiểm tra xem yếu tố ngữ cảnh gốc cho mô-đun web trong tệp application.xml nằm trong thư mục META-INF của EAR của bạn đã được thay đổi một cách chính xác.

Một ví dụ sẽ trông như thế này:

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" 
    id="Application_ID" version="6"> 

    <display-name>TestProject</display-name> 

    <module> 
     <web> 
      <web-uri>TestProjectWeb.war</web-uri> 
      <context-root>testproject</context-root> 
     </web> 
    </module> 

    <module> 
     <ejb>TestProjectEJB.jar</ejb> 
    </module> 

</application> 

Trong ví dụ này các module web nên có sẵn dưới/testproject của máy chủ bạn triển khai đến, vì vậy trong trường hợp của bạn http://localhost:8080/testproject.

(Trong trường hợp bạn muốn triển khai vào thư mục gốc của máy chủ của bạn, bạn có thể để lại các yếu tố bối cảnh gốc trống:. <context-root></context-root>)

Nếu bạn thực sự thấy rằng hành động của bạn trong Netbeans đã thay đổi một cách chính xác tập tin này, nó có thể là một vấn đề triển khai như BalusC đã chỉ ra. Kiểm tra vị trí EAR được triển khai và kiểm tra thủ công xem phiên bản được triển khai cũng có giá trị chính xác hay không.

+0

Trong META_INF, tôi chỉ thấy tệp MINIFEST.MF, tôi có thêm tệp application.xml không? –

+0

Nó đáng lẽ đã ở đó rồi. Kiểm tra kỹ xem bạn đang tìm đúng thư mục META_INF chưa. Một EAR điển hình có rất nhiều. Thực hiện tìm kiếm toàn cầu cho "application.xml" để chắc chắn. Nếu không, hãy tiếp tục và thêm một. –

+0

Nếu bạn có dự án maven, đừng quên rằng số phiên bản được tự động thêm vào các mô-đun trong quá trình triển khai. Vì vậy, bạn sẽ cần phải xác định 'TestProjectEJB-1.0.jar' (hoặc bất kể số phiên bản của bạn là gì). – tarka

1

Như Harry chỉ ra các dự án mẫu mặc định không tạo ra một tập tin application.xml, vì vậy bạn phải tạo ra nó bằng tay tại $ENTERPRISE_APP_PATH/src/conf (thử nghiệm với NB 6.9.1)

+0

Cảm ơn bạn rất nhiều: D –

+0

OP nói rằng họ đang sử dụng Netbeans, có nghĩa là bạn không cần phải tạo application.xml bằng tay. Bạn cần phải nói rõ ràng với Netbeans để tạo ra nó. Xem câu trả lời dưới đây. – Duncan

1

Chỉ cần chạy vào câu hỏi này trong khóa học để tìm ra cùng một điều. Vì OP đã hỏi về việc này trong Netbeans, hãy để tôi thêm vào các câu trả lời trước bằng cách mô tả cụ thể cách thực hiện điều này bằng cách sử dụng IDE Netbeans.

Với Netbeans 8 (và cũng có thể với các phiên bản trước đó), bạn có thể yêu cầu IDE tạo tệp application.xml cho bạn, như sau. Nhấn chuột phải vào dự án ứng dụng doanh nghiệp (trong ví dụ của OP, đây là "TestProject"), chọn "New" rồi "Standard Deployment Descriptor ...". Điều này sẽ tạo một tệp "application.xml" và đặt nó vào vị trí thích hợp trong dự án Netbeans của bạn. Sau đó, bạn có thể dễ dàng chỉnh sửa tệp này để đặt phần tử bối cảnh gốc thành bất kỳ điều gì bạn muốn.

Các vấn đề liên quan