I have a Spring Boot project using Jersey. spring-jersey3 has a dependency to HK2:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2</artifactId>
<version>${hk2.version}</version>
</dependency>
The HK2's manifest Class-Path looks like this:
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
When I deploy this project as a war on Liberty Profile, then I receive a lot of error messages regarding HK2's manifest file. I get one error like this for each jar file in the Class-Path in HK2's manifest file:
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.
The hk2-2.5.0-b32.jar does not contain any jar-libraries, but all the libraries on the HK2's classpath does exist in the lib folder of the application.
So my question is: What do theese dollar signs in the manifest Class-Path mean? And is it possible that this syntax is what makes my Liberty Profile server complain?
I have fixed this issue in the hk2 code base. See:
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.