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-*
,它将把它视为“作为库”。
我知道这是一个老问题,我希望这能帮助解决这个问题的人。
当我尝试将企业应用程序 (ear) 部署到 Weblogic Server 12 时,WLS 将其识别为库并设置单选按钮 "Install this deployment as a library"(如下图所示)。
耳中负责正确识别部署类型的是什么?
下面是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-*
,它将把它视为“作为库”。
我知道这是一个老问题,我希望这能帮助解决这个问题的人。