2010-08-18 8 views
5

Tôi đang phát triển ứng dụng j2ee trên glassfish v3 sẽ gọi EJB từ xa được triển khai trên máy chủ ứng dụng jboss 5. Để làm việc này, ứng dụng của tôi phải có jboss client jars trong class path. Tôi đã thực hiện việc này bằng cách đóng gói các tệp jar ứng dụng khách với ứng dụng của tôi, nhưng điều này làm tăng kích thước của một 10prox, vì vậy việc tải ứng dụng trở thành một vấn đề.cài đặt đường dẫn thủy tinh v3 classpath

Làm cách nào tôi có thể đặt các lọ ở nơi khác để gf chọn chúng nên tôi không cần giữ chúng trong ứng dụng của mình?

Trả lời

1

Bạn có thể đặt chúng trong đường dẫn lớp của máy chủ nếu cần. Chuyển đến thư mục lib của miền.

+0

Tôi có thể đặt chúng vào một số thư mục khác và sau đó yêu cầu gf tìm trong đó? – Marko

1

Trong domain.xml tên miền Glassfish của bạn, bạn có thể sử dụng thuộc tính classpath-suffix của thẻ java-config để trỏ đến các vị trí nên là một phần của classpath của Glassfish cho miền cụ thể đó.

0

Tùy chọn 1: Bạn có thể xử lý vấn đề này trong khi triển khai GF3 bằng cách sử dụng tùy chọn thư viện. Đây là những gì GF3 triển khai màn hình nói.

Danh sách tệp JAR thư viện được phân tách bằng dấu phẩy. Chỉ định thư viện JAR tệp theo đường dẫn tương đối hoặc tuyệt đối của chúng. Chỉ định đường dẫn tương đối liên quan đến cá thể gốc/lib/applib. Các thư viện được thực hiện có sẵn cho ứng dụng theo thứ tự được chỉ định.

Trong trường hợp bạn đang sử dụng dòng lệnh để triển khai, vui lòng sử dụng tùy chọn - thư viện với lệnh asadmin.

Đây có thể không phải là lựa chọn tốt nhất vì bạn cần phải chăm sóc nó mỗi lần triển khai không được triển khai. Tuy nhiên, trong trường hợp triển khai lại, cài đặt này sẽ được giữ lại.

Tùy chọn 2: Đặt chúng vào thư mục tên miền/thư mục Glassfish. Nó sẽ tự động được chọn và khả dụng cho tất cả các ứng dụng của bạn trong cùng một miền sau khi khởi động lại.

+0

Ai đó có thể cung cấp liên kết đến nơi thông tin này đến từ đâu không? Tôi muốn đọc thêm. Ví dụ, tôi có thể sử dụng các thư viện để trỏ đến một thư mục thay vì một cái bình? –

1

Đối với lọ này là OK nhưng đối với các tệp thuộc tính, nó là thứ khác. Nó có xu hướng khó hơn trừ khi bạn đặt chúng trong WAR (có nghĩa là bạn không thể cập nhật chúng mà không có triển khai lại đầy đủ).

Tôi cố gắng để đưa các xxx.properties trong thư mục cấu hình & thích nghi với dòng domain.xml sau

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="${com.sun.aas.instanceRoot}/MY_VALUE" classpath-suffix=""> 
     ... 
</java-config> 

với MY_VALUE lấy giá trị sau:

  1. cấu hình
  2. config/
  3. cấu hình/xxx.properties

Việc thử tương tự với đường dẫn lớp-hậu tố cũng không giúp ích gì.

Yêu cầu ứng dụng web để hiển thị classpath với dòng sau:

String path = System.getProperty("java.class.path"); 
LOG.info("Classpath is : '" + path + "'."); 

đã cho thấy rằng các giá trị đã được nhặt ... nhưng thuộc tính file không bao giờ truy cập từ ClassLoader.getResourceAsInputStream()