Hello! I've run into a strange issue related to the ordering of manifest-only jars and the ability to scan for certain packages. (I'm using the latest version of classgraph at this time - 4.8.143).
So, I have 2 manifest only jars. The first, geode-dependencies.jar, contains the following entry:
Class-Path: geode-server-all-1.15.0-build.0.jar
The second, geode-server-all-1.15.0-build.0.jar, contains this:
Class-Path: commons-digester-2.1.jar commons-validator-1.7.jar commons
-codec-1.15.jar shiro-config-ogdl-1.9.0.jar jna-platform-5.11.0.jar c
ommons-logging-1.2.jar geode-management-1.15.0-build.0.jar geode-core
-1.15.0-build.0.jar javax.activation-api-1.2.0.jar javax.resource-api
-1.7.1.jar LatencyUtils-2.0.3.jar jline-2.12.jar spring-web-5.3.18.ja
r geode-cq-1.15.0-build.0.jar geode-old-client-support-1.15.0-build.0
.jar javax.servlet-api-3.1.0.jar
<snip... many more entries...>
I'm scanning for interfaces in org.springframework.shell. That's somewhat irrelevant, but the jar containing the necessary classes (spring-shell.jar) is referenced correctly in the class-path entry of geode-server-all-1.15.0-build.0.jar.
If either of these jars is on the classpath separately, then scanning works. If both jars are on the classpath and geode-server-all-1.15.0-build.0.jar is first then scanning works. However, if geode-dependencies.jar comes before geode-server-all-1.15.0-build.0.jar, then scanning does NOT work and classes are not found.
All of these jars are stored in the same directory.
I'm attaching 'good' and 'bad' log files. The 'good' one also includes the classes found at the end.
I haven't done any additional debugging, but any hints as to where I might start looking would be appreciated.
Thanks for your time!
scan-good.log
scan-bad.log
Hello! I've run into a strange issue related to the ordering of manifest-only jars and the ability to scan for certain packages. (I'm using the latest version of classgraph at this time -
4.8.143).So, I have 2 manifest only jars. The first,
geode-dependencies.jar, contains the following entry:The second,
geode-server-all-1.15.0-build.0.jar, contains this:I'm scanning for interfaces in
org.springframework.shell. That's somewhat irrelevant, but the jar containing the necessary classes (spring-shell.jar) is referenced correctly in the class-path entry ofgeode-server-all-1.15.0-build.0.jar.If either of these jars is on the classpath separately, then scanning works. If both jars are on the classpath and
geode-server-all-1.15.0-build.0.jaris first then scanning works. However, ifgeode-dependencies.jarcomes beforegeode-server-all-1.15.0-build.0.jar, then scanning does NOT work and classes are not found.All of these jars are stored in the same directory.
I'm attaching 'good' and 'bad' log files. The 'good' one also includes the classes found at the end.
I haven't done any additional debugging, but any hints as to where I might start looking would be appreciated.
Thanks for your time!
scan-good.log
scan-bad.log