我用如下方法配置:
一、 安装和配置
先安装Jbuilder5 Enterprise,然后安装Jbuilder5 Person, license key 用Enterprise的。
或其他方法,只要确保Jbuilder5 Enterprise,能运行。
安装完Jbuilder5,BAS4.5和weblolgic6.0后,就可以开始配置了。
(1) 系统环境变量的修改:
把系统环境变量TMP、TEMP改为不带有空格的目录;
在JB5里菜单 Project ??> Default Project Properties ??>Paths 中把所有带空格的目录改为不带空格的目录;为什么要这样设置呢?因为整合后的 weblogic 和JB5在开发过程中JB5会调用 weblogic 的包来制作EJB,而weblogic对那些有空格的不能很好地识别,工作时会出错,即是说weblogic要接触到的目录,目录名最好不是中文名、带空格。 在使用JB5编辑时会发现光标与实际位置不对齐的问题, 其实只需要在Tools ??>Editor Opntion ??>Color中 把 Reserved Word 设置成不使用粗体和斜体就可以了。
(2) jbuilder5 的配置:
A、 Tools ??>Configure Libraries 下确定有WebLogic6.0包,其中class中应该加入如下class和路径:
C:\bea\wlserver6.0\lib\ cr_wls60f.jar(是Weblogic6.0的crack包)
C:\bea\wlserver6.0\lib\weblogic_sp.jar
C:\bea\wlserver6.0\lib\weblogic.jar
B、Tools Menu ??>Enterprise Setup ??>CORBA
?新增一个weblogic的项, 在Path for ORB tools下,加入Weblogic的目录
? 在Library for projects下,加入 Weblogic6.0 的 库,具体方法是:点“..”,然后选择 Weblogic6.0包;
?在 compiler command 填上 idlj.exe
? 在Command option for output directory 填上一个目录路径,但是要注意的是,不能是中文、带空格。
C、Tools Menu ??>Enterprise Setup ??>Application Server ??>BAS4.5。1
填上 AppServer 安装的目录。 并选上 Enable Integrate.
Tools Menu ??>Enterprise Setup ??>Application Server ??>Weblogic6.0
填上 Weblogic 安装的目录。 D、配置Default Project Properties
Project ??>Default Project Properties ??>Path ??>Required Libraries
选择Weblogic6.0; Project ??>Default Project Properties ??>Build ??>IDL
在 IDL compiler 选择Weblogic;
在weblogic 页上,什么都不选。
Project ??>Default Project Properties ??>Run ??>Application
? 选择main class 为 weblogic.Server (当你正确设定Weblogic6.0包后,可以找到该类。)
? 把Complile before running 和 Complile before debugging 的钩子去掉,否则即使你运行一次EJB客户端都好都会重新制作一次EJB包。
Project ??>Default Project Properties ??>Enterprise 点“..”这这里选择 Application Server ,当然又是选Weblogic6.0。 选中 Weblogic6.0后点 Edit:
? 在Require Libraries添加 Weblogic6.0包,把其他删除;
? 在class 中删除所有的类的路径;
? 修改VM Parameters:我机器上是
-ms64m -mx64m -Djava.library.path=C:/bea/wlserver6.0/bin -Dbea.home=C:/bea -Dweblogic.Domain=Suzhou -Dweblogic.Name=test -Djava.security.policy==C:/bea/wlserver6.0/lib/weblogic.policy -classpath C:\bea\wlserver6.0\lib\cr_wls60f.jar;C:\bea\wlserver6.0\lib\weblogic_sp.jar;C:\bea\wlserver6.0\lib\weblogic.jar;. -Dweblogic.management.password=testsystem
? OK。写了个HelloWorld session bean
成功deploy,client端如下
package com.ejb.session.stateless.hello;import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;public class client
{
private HelloWorldHome helloWorldHome = null; /**Construct the EJB test client*/
public client()
{
try
{
//get naming context
Context ctx = getInitialContext();
//Context ctx = new InitialContext();
//look up jndi name
Object ref = ctx.lookup("HelloWorld"); //cast to Home interface
helloWorldHome = (HelloWorldHome) PortableRemoteObject.narrow(ref, HelloWorldHome.class);
HelloWorld h1=helloWorldHome.create();
System.out.println(h1.hello());
}
catch(Exception e)
{
e.printStackTrace();
}
} //----------------------------------------------------------------------------
// Utility Methods
//---------------------------------------------------------------------------- public HelloWorldHome getHome()
{
return helloWorldHome;
}
/**Main method*/ public static void main(String[] args)
{
client client = new client();
// Use the getHome() method of the client object to call Home interface
// methods that will return a Remote interface reference. Then
// use that Remote interface reference to access the EJB.
}
public static Context getInitialContext()
throws NamingException
{
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");
//p.put(Context.SECURITY_PRINCIPAL,user);
return new InitialContext();
}
}启动Weblogic,run client出现以下错误
org.omg.CORBA.OBJECT_NOT_EXIST: minor code: 0 completed: No at java.lang.Class.newInstance0(Native Method) at java.lang.Class.newInstance(Class.java:237) at com.inprise.vbroker.orb.SE.read(SE.java:28) at com.inprise.vbroker.orb.DelegateImpl.handleReply(DelegateImpl.java:711) at com.inprise.vbroker.orb.DelegateImpl.invoke(DelegateImpl.java:606) at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:297) at com.inprise.vbroker.orb.RequestImpl._invoke(RequestImpl.java:195) at com.inprise.vbroker.orb.RequestImpl.invoke(RequestImpl.java:130) at org.omg.CosNaming._NamingContextStub.resolve(_NamingContextStub.java:156) at com.sun.jndi.cosnaming.CNCtx.callResolve(CNCtx.java:324) at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:373) at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:351) at javax.naming.InitialContext.lookup(InitialContext.java:350) at javax.naming.InitialContext.lookup(InitialContext.java:350) at com.ejb.session.stateless.hello.client.<init>(client.java:20) at com.ejb.session.stateless.hello.client.main(client.java:45)谁能解决
一、 安装和配置
先安装Jbuilder5 Enterprise,然后安装Jbuilder5 Person, license key 用Enterprise的。
或其他方法,只要确保Jbuilder5 Enterprise,能运行。
安装完Jbuilder5,BAS4.5和weblolgic6.0后,就可以开始配置了。
(1) 系统环境变量的修改:
把系统环境变量TMP、TEMP改为不带有空格的目录;
在JB5里菜单 Project ??> Default Project Properties ??>Paths 中把所有带空格的目录改为不带空格的目录;为什么要这样设置呢?因为整合后的 weblogic 和JB5在开发过程中JB5会调用 weblogic 的包来制作EJB,而weblogic对那些有空格的不能很好地识别,工作时会出错,即是说weblogic要接触到的目录,目录名最好不是中文名、带空格。 在使用JB5编辑时会发现光标与实际位置不对齐的问题, 其实只需要在Tools ??>Editor Opntion ??>Color中 把 Reserved Word 设置成不使用粗体和斜体就可以了。
(2) jbuilder5 的配置:
A、 Tools ??>Configure Libraries 下确定有WebLogic6.0包,其中class中应该加入如下class和路径:
C:\bea\wlserver6.0\lib\ cr_wls60f.jar(是Weblogic6.0的crack包)
C:\bea\wlserver6.0\lib\weblogic_sp.jar
C:\bea\wlserver6.0\lib\weblogic.jar
B、Tools Menu ??>Enterprise Setup ??>CORBA
?新增一个weblogic的项, 在Path for ORB tools下,加入Weblogic的目录
? 在Library for projects下,加入 Weblogic6.0 的 库,具体方法是:点“..”,然后选择 Weblogic6.0包;
?在 compiler command 填上 idlj.exe
? 在Command option for output directory 填上一个目录路径,但是要注意的是,不能是中文、带空格。
C、Tools Menu ??>Enterprise Setup ??>Application Server ??>BAS4.5。1
填上 AppServer 安装的目录。 并选上 Enable Integrate.
Tools Menu ??>Enterprise Setup ??>Application Server ??>Weblogic6.0
填上 Weblogic 安装的目录。 D、配置Default Project Properties
Project ??>Default Project Properties ??>Path ??>Required Libraries
选择Weblogic6.0; Project ??>Default Project Properties ??>Build ??>IDL
在 IDL compiler 选择Weblogic;
在weblogic 页上,什么都不选。
Project ??>Default Project Properties ??>Run ??>Application
? 选择main class 为 weblogic.Server (当你正确设定Weblogic6.0包后,可以找到该类。)
? 把Complile before running 和 Complile before debugging 的钩子去掉,否则即使你运行一次EJB客户端都好都会重新制作一次EJB包。
Project ??>Default Project Properties ??>Enterprise 点“..”这这里选择 Application Server ,当然又是选Weblogic6.0。 选中 Weblogic6.0后点 Edit:
? 在Require Libraries添加 Weblogic6.0包,把其他删除;
? 在class 中删除所有的类的路径;
? 修改VM Parameters:我机器上是
-ms64m -mx64m -Djava.library.path=C:/bea/wlserver6.0/bin -Dbea.home=C:/bea -Dweblogic.Domain=Suzhou -Dweblogic.Name=test -Djava.security.policy==C:/bea/wlserver6.0/lib/weblogic.policy -classpath C:\bea\wlserver6.0\lib\cr_wls60f.jar;C:\bea\wlserver6.0\lib\weblogic_sp.jar;C:\bea\wlserver6.0\lib\weblogic.jar;. -Dweblogic.management.password=testsystem
? OK。写了个HelloWorld session bean
成功deploy,client端如下
package com.ejb.session.stateless.hello;import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;public class client
{
private HelloWorldHome helloWorldHome = null; /**Construct the EJB test client*/
public client()
{
try
{
//get naming context
Context ctx = getInitialContext();
//Context ctx = new InitialContext();
//look up jndi name
Object ref = ctx.lookup("HelloWorld"); //cast to Home interface
helloWorldHome = (HelloWorldHome) PortableRemoteObject.narrow(ref, HelloWorldHome.class);
HelloWorld h1=helloWorldHome.create();
System.out.println(h1.hello());
}
catch(Exception e)
{
e.printStackTrace();
}
} //----------------------------------------------------------------------------
// Utility Methods
//---------------------------------------------------------------------------- public HelloWorldHome getHome()
{
return helloWorldHome;
}
/**Main method*/ public static void main(String[] args)
{
client client = new client();
// Use the getHome() method of the client object to call Home interface
// methods that will return a Remote interface reference. Then
// use that Remote interface reference to access the EJB.
}
public static Context getInitialContext()
throws NamingException
{
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");
//p.put(Context.SECURITY_PRINCIPAL,user);
return new InitialContext();
}
}启动Weblogic,run client出现以下错误
org.omg.CORBA.OBJECT_NOT_EXIST: minor code: 0 completed: No at java.lang.Class.newInstance0(Native Method) at java.lang.Class.newInstance(Class.java:237) at com.inprise.vbroker.orb.SE.read(SE.java:28) at com.inprise.vbroker.orb.DelegateImpl.handleReply(DelegateImpl.java:711) at com.inprise.vbroker.orb.DelegateImpl.invoke(DelegateImpl.java:606) at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:297) at com.inprise.vbroker.orb.RequestImpl._invoke(RequestImpl.java:195) at com.inprise.vbroker.orb.RequestImpl.invoke(RequestImpl.java:130) at org.omg.CosNaming._NamingContextStub.resolve(_NamingContextStub.java:156) at com.sun.jndi.cosnaming.CNCtx.callResolve(CNCtx.java:324) at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:373) at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:351) at javax.naming.InitialContext.lookup(InitialContext.java:350) at javax.naming.InitialContext.lookup(InitialContext.java:350) at com.ejb.session.stateless.hello.client.<init>(client.java:20) at com.ejb.session.stateless.hello.client.main(client.java:45)谁能解决
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货