2009-04-16 49 views
8

khi cố gắng thực hiện file jar của tôi, tôi nhận được một ngoại lệ:Lớp weblogic.jndi.WLInitialContextFactory ở đâu?

javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory 
[Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory] 

Tôi đoán đây là một số loại thiếu thư viện trên classpath. Bất cứ ai có thể cho tôi biết tệp jar nào bị thiếu? Tôi không thể tìm thấy lớp weblogic.jndi.WLInitialContextFactory ở bất cứ đâu ...

Cảm ơn!

P.S .: Tôi đã có bao gồm cả weblogic 10,0 jar.

Trả lời

10

Kiểm tra máy chủ/lib/thư mục của bạn để tìm wliclient.jar.

Với WebLogic 12.1.3, bạn có thể tìm thấy nó ở đây:
${INSTALL_DIR}/inventory/wlserver/server/lib/wlclient.jar

0

Nó được đóng gói bên trong weblogic.jar dưới máy chủ của bạn/lib.

6

Bước 1:

Đến E:\weblogic81\user_projects\domains\mydomain. Sau đó nhập lệnh Setenv. Như sau

E:\weblogic81\user_projects\domains\mydomain>setenv 

Bước 2:

Weblogic.jar tập tin là cần thiết bởi ứng dụng khách hàng của bạn. Nó có thể chứa trong đường dẫn sau đây E:\weblogic81\weblogic81\server\lib\weblogic.jar. do đó hãy đặt classpath cho thư mục này hoặc sao chép tệp weblogic.jar này vào thư mục ứng dụng của bạn để tệp weblogic.jar có sẵn cho ứng dụng của bạn trước tiên.

E:\weblogic81\user_projects\domains\mydomain>set CLASSPATH=%CLASSPATH%;E:\weblogic81\weblogic81\server\lib;. 

Bước 3:

Đến miền thư mục trong cửa sổ lệnh như trên và thiết lập classpath. Để không làm phiền classpaths khác thiết lập classpath như:

set CLASSPATH=%CLASSPATH%;E:\weblogic81\weblogic81\server\lib;. 

đây (.) chấm đại diện cho bộ classpath vào thư mục hiện hành.

Bước 4:

Sau classpath thiết lập chạy lệnh STARTWEBLOGIC như sau:

E:\weblogic81\user_projects\domains\mydomain>STARTWEBLOGIC 

Bước 5:

Đừng đăng nhập vào máy chủ WebLogic. Nếu bạn đã đăng nhập chỉ cần đăng xuất và viết mã sau trong myeclipse hoặc một số IDE khác.

Bước 6:

package directory.service; 
import java.util.*; 
import weblogic.jndi.*; 
import java.io.FileInputStream; 
import javax.naming.*; 
public class GetInitContext { 

    /** 
    * @param args 
    */ 

    public static void main(String[] args) { 


     try{ 
     weblogic.jndi.Environment env=new weblogic.jndi.Environment(); 
    weblogic.jndi.Environment environment = new weblogic.jndi.Environment(); 
     environment.setInitialContextFactory(
      weblogic.jndi.Environment.DEFAULT_INITIAL_CONTEXT_FACTORY); 
     env.setProviderUrl("t3://localhost:7001"); 
     env.setSecurityPrincipal("agni"); 
     env.setSecurityCredentials("agnidevam"); 
     Context context=env.getInitialContext(); 
     System.out.println("got the initial context for weblogic server---> "+context); 
     context.createSubcontext("sone"); 
     context.bind("agni one",new Integer(10)); 
     context.createSubcontext("sone/sctwo"); 
     context.bind("agni two",new Integer(20)); 
     context.createSubcontext("sone/sctwo/scthree"); 
     context.bind("agni three",new Integer(30)); 
     System.out.println("subcontex object created please check in admin server for more details"); 

     } 
     catch(Exception e){ 
      System.out.println("file inputstream exception ---> "+e); 
     } 
    } 

} 

Bước 7:

Execute đoạn code trên và đăng nhập vào WebLogic và nhấp chuột phải vào myserver>view jndi tree> bạn tìm thấy những thông tin đối tượng ràng buộc.

2

Kiểm tra thẻ sau trong build.xml bạn

property name = "WLS_HOME" value = "$ {env.WLS_HOME}"

nơi WLS_HOME = c: \ WebLogic \ wls \ wlserver nếu chạy trên cửa sổ tôi tiếp tục cố gắng để chạy một chương trình hello world đơn giản và nó giữ ném

* chạy:

[echo] Executing client class 
[java] javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]* 

một lần tôi thay đổi thẻ nêu trên nó trong tệp build.xml, nó hoạt động tốt

1

có vẻ như bạn đang thực hiện tra cứu JNDI bên ngoài WLS.

Bạn cần phải sử dụng wlfulclient.jar hoặc nếu máy tính của bạn có cài đặt WLS sau đó thêm vào dự án classpath của bạn: WL_HOME/máy chủ/lib/weblogic.jar

0

trong phiên bản 12c nó nằm trong WebLogic-lớp. jar trong thư mục lib của bạn:

C: \ wls1213 \ wlserver \ server \ lib

0

tôi phải đối mặt với cùng một vấn đề và nó cố định bây giờ :)

việc sửa chữa được, để đi đến máy chủ WebLogic và điều hướng tới /Oracle/Middleware/wlserver_10.3/server/lib/ và exe dễ thương lệnh dưới đây.

lệnh: java -jar wljarbuilder.jar -profile wlfullclient5

Lệnh trên sẽ tạo ra một file jar với tất cả các nhân jar WebLogic Server bên trong/thư mục lib và đặt nó trong ứng dụng mã java xây dựng đường dẫn của bạn Eclipse và craetes Runnable Tệp JAR và đặt tệp wlfullclient5.jar này trong thư mục máy chủ/lib.

Hy vọng điều này sẽ hữu ích! Vui lòng cho tôi biết nếu bạn có bất kỳ vấn đề gì.

0

Thêm wlserver/server/lib/weblogic.jar là đủ. Tôi kiểm tra nó.