Skip to content

Commit 57e4e70

Browse files
authored
Dynamically load com.mongodb.internal.build.MongoDriverVersion.VERSION
Dynamically load com.mongodb.internal.build.MongoDriverVersion.VERSION -- Closes gh-4937 Signed-off-by: Vladimir Vishnevskii <[email protected]> Signed-off-by: Vladimir Vishnevskii <[email protected]>
1 parent 4886ede commit 57e4e70

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/MongoClientVersion.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
*
2828
* @author Christoph Strobl
2929
* @author Mark Paluch
30+
* @author Vladimir Vishnevskii
3031
* @since 1.7
3132
*/
3233
public class MongoClientVersion {
@@ -96,14 +97,20 @@ private static Version getVersionFromPackage(ClassLoader classLoader) {
9697

9798
if (ClassUtils.isPresent("com.mongodb.internal.build.MongoDriverVersion", classLoader)) {
9899
try {
99-
return Version.parse(MongoDriverVersion.VERSION);
100+
return Version.parse(loadVersionFromMongoDriverVersion());
100101
} catch (IllegalArgumentException exception) {
101102
// well not much we can do, right?
102103
}
103104
}
104105
return null;
105106
}
106107

108+
@Nullable
109+
private static String loadVersionFromMongoDriverVersion() {
110+
Field versionField = ReflectionUtils.findField(MongoDriverVersion.class, "VERSION");
111+
return (String) ReflectionUtils.getField(versionField, null);
112+
}
113+
107114
private static Version guessDriverVersionFromClassPath(ClassLoader classLoader) {
108115

109116
if (ClassUtils.isPresent("com.mongodb.internal.connection.StreamFactoryFactory", classLoader)) {

0 commit comments

Comments
 (0)