2013-10-30 90 views
7

我添加了一些库到我的JavaEE项目,然后部署应用程序的作品。我修改了一些东西,并在Eclipse中得到了这个错误消息:Glassfish 4部署错误

Cannot Deploy ProjectName 
deploy is failing=Error occurred during deployment: Keys cannot be duplicate. 
Old value of     this key property, nullwill be retained. 
Please see server.log for more details. 
java.lang.LinkageError: loader (instance of 
org/glassfish/web/loader/WebappClassLoader): 
attempted duplicate class definition for name: 
"org/glassfish/web/loader/JdbcLeakPrevention" 
loader (instance of org/glassfish/web/loader/WebappClassLoader): attempted duplicate 
class definition for name: "org/glassfish/web/loader/JdbcLeakPrevention" 

我做了一些研究,发现它不是Eclipse的bug。我正在与开普勒合作,但我也曾与朱诺进行过测试。得到了同样的错误信息。 我下载了Glassfish 3.1.2.2,消息消失了。

为什么我会收到此消息?

+0

您最近是否从JDK7切换到JDK8。这个错误似乎可以在这种情况下看到,如:https://groups.google.com/forum/#!msg/adopt-openjdk/DzRXD2fx1d0/Lt0aEVaUteQJ – VonC

+0

@VonC不,我正在使用JDK 7 Update 13 – galovics

+0

任何机会,你可以升级到最新的JDK7(u45),看看问题是否依然存在? – VonC

回答

0

尝试清理autodeploy目录,重新启动服务器。 也清理项目部署目录。

+0

已完成。没有什么变化。 – galovics

3

我也有这个问题,我也在使用SVNKit库加上它的依赖关系,所以看起来好像存在某种冲突。我可以通过清理osgi-cache文件夹&重新启动glassfish来解决这个问题,但每次我想部署时都必须这样做,所以不是一个好的解决方案。

+1

https://agritsik.wordpress。com/2015/08/26/how-to-clear-glassfish-cache-helps-to-resolve-deployment-exception-inconsistent-module-state/ – shareef

+0

链接文章为空(请参阅文章下的评论)。新解决方案赞赏。 – DaRich

4

我有同样的错误。我停下了GLassfish服务器,然后清理了项目(Project - > Clean ...)。启动服务器并开始工作

0

与单个@Singleton bean有某种关系。转换为@Stateless,一切正常。不太清楚为什么会这样......

0

在我Glassfish的日志文件它说:

与名WS

应用程序已被注册。要么指定必须强制重新部署,要么重新部署应用程序。或者,如果这是一个新的部署,选择一个不同的名称

按照我的日志说明我在部署应用程式与--force选项:

asadmin deploy --force=true ws.war 

和它的工作。有关deploy --force=true的更多信息

1

尝试删除osgi-cache和生成目录下的所有文件。它为我工作。

0

以下步骤为我工作。

  1. 停止GlassFish服务器(如果正在运行)
  2. 杀死所有的java程序(使用终端或活动监视器)
  3. 现在尝试重新部署。