Weblogic Server 12c 将应用程序 (ear) 识别为库

Weblogic Server 12c recognize application (ear) as library

当我尝试将企业应用程序 (ear) 部署到 Weblogic Server 12 时,WLS 将其识别为库并设置单选按钮 "Install this deployment as a library"(如下图所示)。 每次部署我都必须将单选按钮更改为 "Install this deployment as an application"。它不会引起任何严重问题,但在部署过程中很容易出错。

耳中负责正确识别部署类型的是什么?

下面是ear content tree(我不得不在libs中隐藏jar,并更改了一些应用程序和包的名称,但一切都符合约定) . ├── APP-INF │   └── lib │  └── *.jar ├── testApp-ejb.jar └── META-INF ├── application.xml ├── MANIFEST.MF └── maven └── pl.goralczyka.test └── test-ear ├── pom.properties └── pom.xml

扩展名是用来识别类型的。问题与 Weblogic 控制台部署过程有关。

这个问题只是意味着 EAR 可以用作其他应用程序的库。

所以,我 运行 遇到了完全相同的问题,并最终找到了解决方案!

在我的例子中,问题是 MANIFEST.MF 内容。我比较了 Maven 构建的其他项目以找到差异,唯一不同的是 maven-war-plugin 启用了 addDefaultImplementationEntries

为了进一步检验理论,我也尝试了 addDefaultSpecificationEntries 选项,结果是一样的。

因此,如果您的 WAR 具有 Implementation-*Specification-*,它将把它视为“作为库”。

我知道这是一个老问题,我希望这能帮助解决这个问题的人。