Glassfish的DeploymentException:链接安全策略错误

我一直在尝试从Glassfish AdminConsole部署我的Web应用程序(战争),但我不断收到以下错误消息 –

Exception while loading the app : Error in linking security policy for MyApp-war -- Inconsistent Module State. 

但是当我从Netbeans那里部署的时候,它没有任何问题。 (我不知道在部署应用程序之前,Netbeans是否正在做一些我不知道的事情。)

而且我也尝试过最新版本的Glassfish(即V3.1.1(build 12)),我可以从AdminConsole中没有任何问题地部署相同的应用程序。

我正在使用Glassfish 3.1(版本43)和Netbeans 7.0。

在使用此版本的Glassfish部署我的应用程序之前,是否有任何安全策略设置?

同样的事情发生在我身上。

这是我做的:

  • 停止Glassfish服务器
  • 从glassfishhome / glassfish / domains / yourdomainname / generated中删除所有内容
  • 开始Glassfish

它为我工作。 但是仍然糟糕的是,每次我需要部署我需要再次按照这个程序…

我将回答@SteveTaylor的评论。 他在上述评论中的回答帮助我解决了这个问题,所以他是值得信任的人。

来自@SteveTaylor的原始答案:

问题是一个腐败的OSGicaching。 升级为你工作的原因是因为你从一个干净的OSGicaching开始。 所有需要解决这个问题的是删除$ GLASSFISH_HOME / glassfish / domains下的整个OSGicaching// osgi-cache

这个答案也适用于我。 非常感谢。 我正在使用由两个节点和一个域服务器组成的集群(Oracle GlassFish 3.1.2.2)。 我停止了群集并重新启动之后,我在所有三个目录(2个节点和域)下删除了OSGicaching。 之后,问题解决了。

这发生在我身上,尤其是在我查看了我的Web应用程序的不同版本并尝试将其部署到Glassfish之后。

我发现唯一的解决scheme是完全停止galssfish,重新启动并部署应用程序。

可能是我正在使用的Glassfish版本中的一个错误。

基本上改变到一个不同的(后来)版本解决了这个问题。

我不知道这是否有帮助,但从命令行部署时出现同样的错误。 在我的情况下,我使用一个相当的最新版本(GlassFish服务器开源版本3.1.2(版本23))。 对我来说有效的是从这里删除–force = true

  $ sudo /usr/local/glassfish3/bin/asadmin deploy --force=true ~cornell/designer.war 

什么是重要的(我认为)是我以前没有部署的应用程序。 混乱!

这也发生在我身上。 在我的情况下,当我尝试部署项目并忘记启动数据库服务器时发生,然后当我启动数据库服务器并再次部署时,出现此错误消息。 发生这种情况时,我重新编译代码,停止服务器,取消部署旧项目并再次部署新项目。