10

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

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 错误。我正在使用 Kepler,但我也使用 Juno 进行了测试。得到同样的错误信息。我下载了 Glassfish 3.1.2.2 并且消息消失了。

为什么我会收到此消息?

4

7 回答 7

9

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

于 2015-04-07T19:32:01.323 回答
3

我也遇到了这个问题,而且我还在使用 SVNKit 库及其依赖项,所以看起来那里存在某种冲突。我可以通过清理 osgi-cache 文件夹并重新启动 glassfish 来解决它,但每次我想部署时都必须这样做,所以不是一个很好的解决方案。

于 2013-11-20T21:22:26.153 回答
2

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

于 2016-06-30T13:57:57.500 回答
2

在我的Glassfish 日志文件中,它说:

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

按照我的日志说明,我使用以下--force选项部署了该应用程序:

asadmin deploy --force=true ws.war

它奏效了。有关部署的更多信息--force=true

于 2015-11-08T11:22:59.933 回答
0

尝试清理自动部署目录,重新启动服务器。还要清理项目部署目录。

于 2013-11-07T12:01:45.593 回答
0

以下步骤对我有用。

  1. 停止 glassfish 服务器(如果正在运行)
  2. 杀死所有 java 进程(使用终端或活动监视器)
  3. 现在尝试重新部署。
于 2016-07-29T12:01:44.337 回答
-1

不知何故与一个@Singleton豆子有关。将其转换为@Stateless一切正常。不太清楚为什么会这样……

于 2015-10-21T17:50:33.457 回答