Skip to content

Commit 776dec2

Browse files
authored
Merge pull request eugenp#10730 from hmdrzsharifi/master
bael-4909: Getting Java Version at Runtime
2 parents 63e5dde + d69e133 commit 776dec2

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

core-java-modules/core-java-11-2/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@
5050
<version>${junit.jupiter.version}</version>
5151
<scope>test</scope>
5252
</dependency>
53+
<dependency>
54+
<groupId>org.apache.commons</groupId>
55+
<artifactId>commons-lang3</artifactId>
56+
<version>${commons-lang3.version}</version>
57+
</dependency>
5358
</dependencies>
5459

5560
<build>
@@ -73,6 +78,7 @@
7378
<junit.jupiter.version>5.7.0</junit.jupiter.version>
7479
<assertj.version>3.17.2</assertj.version>
7580
<mockserver.version>5.11.1</mockserver.version>
81+
<commons-lang3.version>3.12.0</commons-lang3.version>
7682
</properties>
7783

7884
</project>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.baeldung.version;
2+
3+
import org.apache.commons.lang3.SystemUtils;
4+
import org.assertj.core.api.Assertions;
5+
import org.junit.jupiter.api.Disabled;
6+
import org.junit.jupiter.api.Test;
7+
8+
public class VersionUnitTest {
9+
10+
@Test
11+
public void givenJava_whenUsingRuntime_thenGetVersion() {
12+
String expectedVersion = "11";
13+
Runtime.Version runtimeVersion = Runtime.version();
14+
String version = String.valueOf(runtimeVersion.version().get(0));
15+
Assertions.assertThat(version).isEqualTo(expectedVersion);
16+
}
17+
18+
@Test
19+
@Disabled("Only valid for Java 8 and lower")
20+
public void givenJava_whenUsingCommonsLang_thenGetVersion() {
21+
int expectedVersion = 8;
22+
String[] versionElements = SystemUtils.JAVA_SPECIFICATION_VERSION.split("\\.");
23+
int discard = Integer.parseInt(versionElements[0]);
24+
int version;
25+
if (discard == 1) {
26+
version = Integer.parseInt(versionElements[1]);
27+
} else {
28+
version = discard;
29+
}
30+
Assertions.assertThat(version).isEqualTo(expectedVersion);
31+
}
32+
33+
@Test
34+
@Disabled("Only valid for Java 8 and lower")
35+
public void givenJava_whenUsingSystemProp_thenGetVersion() {
36+
int expectedVersion = 8;
37+
String[] versionElements = System.getProperty("java.version").split("\\.");
38+
int discard = Integer.parseInt(versionElements[0]);
39+
int version;
40+
if (discard == 1) {
41+
version = Integer.parseInt(versionElements[1]);
42+
} else {
43+
version = discard;
44+
}
45+
Assertions.assertThat(version).isEqualTo(expectedVersion);
46+
}
47+
}
48+

0 commit comments

Comments
 (0)