javax.naming.NameNotFoundException:在此上下文中未綁定名稱。找不到
確定發(fā)現(xiàn)Tomcat文件server.xml也必須配置為數(shù)據(jù)源正常工作。因此,只需添加:
<Resource auth='Container' driverClassName='org.apache.derby.jdbc.EmbeddedDriver' maxActive='20' maxIdle='10' maxWait='-1' name='ds/flexeraDS' type='javax.sql.DataSource' url='jdbc:derby:flexeraDB;create=true' />解決方法
我試圖找出為什么我的Web應(yīng)用程序拋出一個
javax.naming.NameNotFoundException: Name [flexeraDS] is not bound in this Context. Unable to find [flexeraDS].
當(dāng)我從中復(fù)制配置的一個姐妹悄悄地運行時。
我有:
通過右鍵單擊并選擇“新的持久性”從netbeans創(chuàng)建一個新的持久性,我不在乎我提供的實際值,但只需要在正確的目錄中創(chuàng)建persistence.xml文件即可。如下編輯我的context.xml,以匹配工作姐妹項目中的那個編輯了我的web.xml以包含資源DataSource,如下所示如下編輯我的persistence.xml,再次匹配在姐妹項目上工作的相同值。在我的lib文件夾中添加了另一個項目中存在的所有庫,還從NetBeans中添加了它們,以正確放入war。context.xml<?xml version='1.0' encoding='UTF-8'?><Context antiJARLocking='true' path='/PetLogin'> <ResourceLink global='ds/flexeraDS' name='ds/flexeraDS' type='javax.sql.DataSource'/></Context>web.xml
<?xml version='1.0' encoding='UTF-8'?><web-app ....><resource-ref><description>DB Connection</description><res-ref-name>ds/flexeraDS</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth> </resource-ref></web-app>persistence.xml
<?xml version='1.0' encoding='UTF-8'?><persistence version='1.0' xmlns='http://java.sun.com/xml/ns/persistence' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd '> <persistence-unit name='flexerajpa'><provider>org.eclipse.persistence.jpa.PersistenceProvider</provider><non-jta-data-source>java:/comp/env/ds/flexeraDS</non-jta-data-source><properties> <property name='eclipselink.ddl-generation' value='create-tables' /> <property name='eclipselink.ddl-generation.output-mode' value='database' /> <property name='eclipselink.weaving' value='static' /> <property name='eclipselink.logging.level' value='WARNING' /></properties> </persistence-unit></persistence>
現(xiàn)在,我的系統(tǒng)項目以某種方式設(shè)法在啟動時在apache-tomcat-7.0.40 / bin /exampleDB內(nèi)創(chuàng)建其數(shù)據(jù)庫文件夾,而我的系統(tǒng)未創(chuàng)建它并引發(fā)如上所述的錯誤。
引發(fā)錯誤的代碼是我第一次連接數(shù)據(jù)庫:
EntityManager entityManager = PersistenceProvider.createEntityManager();
其中PersistenceProvider類為:
public final class PersistenceProvider{ private static Map<String,Object> lOptions = new HashMap<String,Object>(); static {lOptions.put(PersistenceUnitProperties.CACHE_SHARED_DEFAULT,'false'); } private static EntityManagerFactory factory = Persistence .createEntityManagerFactory('flexerajpa',lOptions); private PersistenceProvider() { } /** * @return */ public static EntityManager createEntityManager() {return factory.createEntityManager(); } /** * @return */ public static Metamodel getMetamodel() {return factory.getMetamodel(); }}
我沒有這個可能的原因..如果有人有任何建議。謝謝
相關(guān)文章:
1. android clickablespan獲取選中內(nèi)容2. debian - docker依賴的aufs-tools源碼哪里可以找到???3. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?4. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””5. docker容器呢SSH為什么連不通呢?6. python - from ..xxxx import xxxx到底是什么意思呢?7. 前端 - ng-view不能加載進模板8. nignx - docker內(nèi)nginx 80端口被占用9. angular.js - angular內(nèi)容過長展開收起效果10. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?
