以下环境适合做EJB的研究环境,也可以作为EJB快速开发的环境。
特点:简单,直接,节省资源。
使用的工具:
j2sdkee-1_3_1
JBoss-2.4.10
jakarta-ant-1.5
xdoclet-bin-1.2.1
配置 j2sdk 的环境:
1 set JAVA_HOME=d:/jdk1.3
2 set PATH;%JAVA_HOME%/bin
3 set CLASSPATH;.
配置 j2sdkee 的环境:
1 set J2EE_HOME=D:/j2sdkee1.3.1
2 set PATH;%J2EE_HOME%/bin
3 set CLASSPATH;%J2EE_HOME%/lib/j2ee.jar
note:
如果某些系统,如windows 98 不认识 路径中的空格,可以在整个路径 classpath;.;xxx.jar 外面加上双引号:"classpath;.;xxx.jar"。
配置JBOSS的环境变量,以实现client 通过 JNDI 获得 remote server上的EJB:
set %JBOSS_HOME%=D:/JBoss-2.4.10
set CLASSPATH;%JBOSS_HOME%/client/jnp-client.jar;%JBOSS_HOME%/client/jboss-client.jar
Client java 需要作以下class instantiation 设置,以设置环境找到remote server上的EJB:
public static final String INITIAL_CONTEXT_FACTORY =
"org.jnp.interfaces.NamingContextFactory";
public static final String PROVIDER_URL =
"jnp://localhost:1099";
public static final String URL_PKG_PREFIXES =
"org.jboss.naming:org.jnp.interfaces";
public Properties env=null;
{
env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
INITIAL_CONTEXT_FACTORY);
env.put(Context.PROVIDER_URL, PROVIDER_URL);
//env.put(Context.URL_PKG_PREFIXES, URL_PKG_PREFIXES);
//env.put(Context.SECURITY_PRINCIPAL, "admin");
//env.put(Context.SECURITY_CREDENTIALS, "123456");
}
public void go(String greetingStr){
try{
Context ic = new InitialContext( env );
Object o = ic.lookup("JNDI/Advice");
}catch(Exception ex){
ex.printStackTrace();
}
}
建立一个待deploy的jar文件:
jar -cvf jarName.jar packageDir/*.class META-INF/*.xml
currentDir
| packageDir
| META-INF
安装Ant
1 set ANT_HOME=D:/jakarta-ant-1.5
2 set PATH;%ANT_HOME%/bin
· Unix
假如ant安装目录为/usr/local/ant,按下面方法设置
export ANT_HOME=/usr/local/ant
export PATH=${PATH}:${ANT_HOME}/bin
使用XDoclet需要设置
set CLASSPATH;%JAVA_HOME%/lib/tools.jar
使用Ant + XDoclet时,关于source java所在目录的约定:
1 testApp/src/java 下的文件路径必须与 source java 的package一致
2 编译java所需要的jar应该放在 testApp/lib目录中
并在build.xml中指明<path>。如:
<path id="samples.class.path">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>