Glassfish文件在/ AppData / Local / Temp / osgiapp中打开错误...?

时间:2016-09-12 11:48:48

标签: web-applications deployment osgi glassfish-3

我将我的战争部署为OSGi捆绑包,但不断收到此错误:

[#|2016-09-12T13:39:59.409+0200|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=39;_ThreadName=Thread-2;|DPL8004: file open failure; file = file:/C:/Users/me/AppData/Local/Temp/osgiapp2866222350344881589/WEB-INF/lib/Bundle295.jar|#]

我不知道为什么glassfish正在寻找那个Bundle295.jar文件。它不在我的战争WEB-INF/lib中。

另外,我注意到,如果我将类路径删除到el-apiel-impl,问题就会消失,但当然我会因为丢失而发现其他类别的def not found错误库。

换句话说,只有当我在我的WEB-INF/lib/el-api-2.2.jar文件中添加两个jar WEB-INF/lib/el-impl-2.2.jarMANIFEST.MF的类路径时才会出现问题:

Bundle-ClassPath: WEB-INF/classes,
 WEB-INF/lib/el-api-2.2.jar,
 WEB-INF/lib/el-impl-2.2.jar,
 WEB-INF/lib/javax.servlet-api-3.1.0.jar,
 WEB-INF/lib/javax.servlet.jsp-api-2.2.1.jar,

有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

GlassFish在应用生命周期的各个时间点在-Djava.io.tmpdir中指定的位置创建临时文件。这看起来像是由Felix(OSGi容器)创建的用于缓存的临时目录。当服务器正常关闭时,这些临时文件将被清除,但如果服务器被终止或发生错误而终止JVM,则可能会挂起。

您应该能够删除..\osgiapp...文件夹而不会产生任何副作用,并重新启动GlassFish以避免此问题。

服务器日志消息似乎只是WARNING - 它实际上是否导致任何问题?如果没有,可以忽略它。