我收到錯誤(...)javax.naming.NameNotFoundException:greetJndi不綁定
這意味着,沒有什麼是必然的JNDI名稱greetJndi
,很可能是因爲部署問題鑑於本教程的令人難以置信的低質量(檢查服務器日誌)。我會回來的。
在JBoss中是否有任何特定的目錄結構要部署?
的ejb-jar
的內部結構應該是這樣的(使用差命名約定和默認包如在所提到的鏈路):
.
├── greetBean.java
├── greetHome.java
├── greetRemote.java
└── META-INF
├── ejb-jar.xml
└── jboss.xml
但正如已經提到的,這教程是錯誤百出:
- 有一個多餘的字符(
<enterprise-beans>]
< - HERE)在ejb-jar.xml
(!)
- 一個空間
PUBLIC
後失蹤的ejb-jar.xml
和jboss.xml
(!!)
- 的
jboss.xml
不正確,它應該包含一個session
元素而不是entity
(!!!)
這裏是一個「固定」 版本ejb-jar.xml
的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>greetBean</ejb-name>
<home>greetHome</home>
<remote>greetRemote</remote>
<ejb-class>greetBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
的jboss.xml
和:
<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
<jboss>
<enterprise-beans>
<session>
<ejb-name>greetBean</ejb-name>
<jndi-name>greetJndi</jndi-name>
</session>
</enterprise-beans>
</jboss>
做這些修改和重新包裝EJB-JAR後,我是能夠成功地部署:
21:48:06,512 INFO [Ejb3DependenciesDeployer] Encountered deployment [email protected]{vfszip:/home/pascal/opt/jboss-5.1.0.GA/server/default/deploy/greet.jar/}
21:48:06,534 INFO [EjbDeployer] installing bean: ejb/#greetBean,uid19981448
21:48:06,534 INFO [EjbDeployer] with dependencies:
21:48:06,534 INFO [EjbDeployer] and supplies:
21:48:06,534 INFO [EjbDeployer] jndi:greetJndi
21:48:06,624 INFO [EjbModule] Deploying greetBean
21:48:06,661 WARN [EjbModule] EJB configured to bypass security. Please verify if this is intended. Bean=greetBean Deployment=vfszip:/home/pascal/opt/jboss-5.1.0.GA/server/default/deploy/greet.jar/
21:48:06,805 INFO [ProxyFactory] Bound EJB Home 'greetBean' to jndi 'greetJndi'
該教程需要顯著改善;我建議遠離roseindia.net。
你能幫助這篇文章:http://stackoverflow.com/questions/28996931/namenotfoundexception-when-running-simple-webapp-in-jboss-6-but-not-on-jboss-7 – 2015-03-13 05:25:16