问题概述
运行Arquillian自由托管的容器测试时,server.xml文件中未解析特定的环境变量。可以看到WLPManagedContainer.class试图找到server.env,但是在运行时使用server.env的应用程序无法在测试过程中解决。
预期的行为
一个server.xml文件,其中包含和foo = bar在正在运行的服务器目录中的server.env中定义。应该在容器内测试期间解决。
使用@Resource(lookup =“ env / foo”)提取jndiEntry时,字符串foo;应该在运行时以及Arquillian测试期间解决禁止问题
参见:https://github.com/HasseNasse/liberty-arquillian-envvars
当前行为
应用程序servlet解析@Resource(lookup =“ env / foo”)字符串foo;在应用程序部署期间禁止访问。在Arquillian测试期间,@Resource(lookup =“ env / foo”)字符串foo;解析为server.xml中定义的$ {env.foo}。
使用Java 11(Azul Zulu)和Java 8(Azul Zulu + Oracle JDK)进行了测试
复制步骤
正在运行Arquillian测试:
部署应用程序