我有一个使用Jersey的Spring Boot项目。 spring-jersey3依赖于HK2:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2</artifactId>
<version>${hk2.version}</version>
</dependency>
HK2的清单Class-Path如下所示:
Class-Path: $hk2-utils.$jar $javax.inject.$jar $hk2-api.$jar $aopallia
nce-repackaged.$jar $config-types.$jar $hk2-core.$jar $hk2-config.$ja
r $tiger-types.$jar $hibernate-validator.$jar $validation-api.$jar $j
boss-logging.$jar $classmate.$jar $hk2-locator.$jar $javax.inject.$ja
r $javassist.$jar $hk2-runlevel.$jar $class-model.$jar $asm-all-repac
kaged.$jar
当我将此项目部署为Liberty Profile上的战争时,我收到很多关于HK2的清单文件的错误消息。我在HK2的清单文件的Class-Path中为每个jar文件收到一个这样的错误:
The manifest class path $hk2-utils.$jar can not be found in jar file wsjar:file:<path to WLP server>/usr/servers/int/dropins/<name of application>.war!/WEB-INF/lib/hk2-2.5.0-b32.jar or its parent.
hk2-2.5.0-b32.jar不包含任何jar库,但HK2的类路径中的所有库都存在于应用程序的lib文件夹中。
所以我的问题是:清单Class-Path中的theese美元符号是什么意思?这种语法是否可能导致我的Liberty Profile服务器抱怨?