Java 如何设置嵌入式TOME的系统属性?
我读过这个链接: 我正在尝试设置“openejb.deployments.classpath=true” 这是我的代码:Java 如何设置嵌入式TOME的系统属性?,java,openejb,apache-tomee,Java,Openejb,Apache Tomee,我读过这个链接: 我正在尝试设置“openejb.deployments.classpath=true” 这是我的代码: public class Run { private static EJBContainer ejbContainer; public static void main( String[] args ) throws NamingException, InterruptedException, IOException { Properties props = n
public class Run {
private static EJBContainer ejbContainer;
public static void main( String[] args ) throws NamingException, InterruptedException, IOException {
Properties props = new Properties();
props.setProperty(EJBContainer.PROVIDER, "tomee-embedded");
props.setProperty("openejb.deployments.classpath", "true");
ejbContainer = EJBContainer.createEJBContainer(props);
}
}
pom.xml:
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-embedded</artifactId>
<version>1.6.0.2</version>
</dependency>
我错过了什么吗?tomee embedded稍后设置此属性(在tomee启动后,并且在tomee启动时记录此属性)。因此,您的属性设置正确。只需在启动容器之前设置属性即可
...
System.setProperty("openejb.deployments.classpath", "true");
Properties props = new Properties();
...
你这样做是绝对正确的
new Properties();
props.setProperty(EJBContainer.PROVIDER, "tomee-embedded");
props.setProperty("openejb.deployments.classpath", "true");
ejbContainer = EJBContainer.createEJBContainer(props);
但是您忽略了您还设置了一个配置文件。你可以在日志中看到它
INFO - openejb configuration file is 'C:\cygwin\tmp\apache...
因此,请确保您的配置文件没有以编程方式覆盖您的设置。旁注:TomEE Embedded EJBContainer没有良好的类路径部署(它部署模块/jar/configured war))
也许可以看看tomee embedded的容器类,它支持比1.6版本更新的版本中的类路径部署。在容器管理环境中,在代码中可以在哪里设置此属性?据我所知,只要我有任何代码控件,容器就已经启动。@Amalgovinus您可以使用配置文件。
INFO - openejb configuration file is 'C:\cygwin\tmp\apache...