Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 指定Apache TomEE的应用程序名称_Java_Jakarta Ee_Apache Tomee - Fatal编程技术网

Java 指定Apache TomEE的应用程序名称

Java 指定Apache TomEE的应用程序名称,java,jakarta-ee,apache-tomee,Java,Jakarta Ee,Apache Tomee,我需要在独立的应用程序中使用JPA,所以我发现这个示例是初学者 它们通过 final Context context = EJBContainer.createEJBContainer(p).getContext(); 然后有一个日志行: 信息-企业应用程序/Users/dblevins/examples/jpa hibernate已加载 您需要知道该应用程序名称才能向导出搜索字符串进行查找: context.lookup("java:global/jpa-hibernate/Movies")

我需要在独立的应用程序中使用JPA,所以我发现这个示例是初学者

它们通过

final Context context = EJBContainer.createEJBContainer(p).getContext();
然后有一个日志行:

信息-企业应用程序/Users/dblevins/examples/jpa hibernate已加载

您需要知道该应用程序名称才能向导出搜索字符串进行查找:

context.lookup("java:global/jpa-hibernate/Movies");
让我担心的是,我没有发现这些“jpa hibernate”部分来自哪里的信息。它或者来自工件id,或者更糟糕的是,来自当前目录名,这使得使用它的代码严重依赖于开发人员无法控制的上下文

我已经完全找到了谷歌如何指定应用程序名的方法,这样无论谁调用我的代码以及代码复制到哪里,我都可以使用查找功能


如何配置此应用程序名称

本单元测试示例中使用的嵌入式EJB容器允许在JavaEE容器之外运行EJB。在这里可以找到一个很好的介绍/教程:

它支持与常规EJBJAR相同的配置文件,即它支持EJB-jar.xml配置文件模块部署描述符。可以在此处配置模块名称,例如:

<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"  
         version="3.1">  
    <module-name>myapp</module-name>  
</ejb-jar>  

此文件需要进入jar的META-INF目录。

您所说的独立应用程序是什么意思?所示的示例似乎是部署到TomEE应用服务器的ejb jar。可能重复的有帮助吗?@JochenReinhardt该示例是JUnit测试的一个片段,因此绝对不会部署到任何容器…@JochenReinhardt standalone=使用java命令或IDE或可执行jar清单作为普通java应用程序运行。。。。我的代码中绝对不存在EAR或WAR。对不起,我没有注意到嵌入的EJB容器。它允许在JavaEE容器之外运行EJB。但它也支持ejb-jar.xml中的。也可以看@JochenReinhardt是的,类似于,如果你不知道去哪里看,很难找到:哦,非常感谢!