diff --git a/pom.xml b/pom.xml
index f775f0b..19d5cb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,18 @@
commons-compress
1.28.0
+
+ org.junit.jupiter
+ junit-jupiter
+ RELEASE
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ RELEASE
+ test
+
\ No newline at end of file
diff --git a/src/main/java/top/gtb520/java/gnu/java/utils/library/main.java b/src/main/java/top/gtb520/java/gnu/java/utils/library/main.java
index 5361040..1132802 100644
--- a/src/main/java/top/gtb520/java/gnu/java/utils/library/main.java
+++ b/src/main/java/top/gtb520/java/gnu/java/utils/library/main.java
@@ -81,4 +81,25 @@ public interface main {
return top.gtb520.java.gnu.java.utils.library.version.OpenJDK_64Bit_Server_VM;
}
}
+
+ interface runtime {
+ static String getJarPath() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.getJarPath();
+ }
+ static String getJavaVersion() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaVersion();
+ }
+ static String getJavaRuntimeEnvironmentVersion() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaRuntimeEnvironmentVersion();
+ }
+ static String getJavaVMVersion() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaVMVersion();
+ }
+ static String getJavaBits() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaBits();
+ }
+ static String getJavaVMName() {
+ return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaVMName();
+ }
+ }
}
diff --git a/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/JavaRunTimeEnv.java b/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/JavaRunTimeEnv.java
new file mode 100644
index 0000000..cb8e4cc
--- /dev/null
+++ b/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/JavaRunTimeEnv.java
@@ -0,0 +1,30 @@
+package top.gtb520.java.gnu.java.utils.library.utils.runtime;
+
+// 运行时Java环境信息
+public class JavaRunTimeEnv {
+
+ // Java版本号
+ public static String JavaVersion() {
+ return System.getProperty("java.version");
+ }
+
+ // Java运行时环境版本号
+ public static String JavaRuntimeEnvironmentVersion() {
+ return System.getProperty("java.runtime.version");
+ }
+
+ // 获取虚拟机版本
+ public static String JavaVMVersion() {
+ return System.getProperty("java.vm.version");
+ }
+
+ // 获取 JDK 位数,64 位通常包含 amd64 或 64
+ public static String JavaBits() {
+ return System.getProperty("sun.arch.data.model");
+ }
+
+ // 获取JavaVM名称
+ public static String JavaVMName() {
+ return System.getProperty("java.vm.name");
+ }
+}
diff --git a/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnv.java b/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnv.java
new file mode 100644
index 0000000..ec93b5a
--- /dev/null
+++ b/src/main/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnv.java
@@ -0,0 +1,17 @@
+package top.gtb520.java.gnu.java.utils.library.utils.runtime;
+
+import top.gtb520.java.gnu.java.utils.library.main;
+
+// 获取运行时的信息
+public class RunEnv {
+ // 获取当前运行的JAR文件路径
+ public static String getJarPath() {
+ String path = main.class.getProtectionDomain().getCodeSource().getLocation().getPath();
+ if (System.getProperty("os.name").startsWith("Windows")) {
+ path = path.replace('/', '\\');
+ //去除路径最前面的 “\”
+ path = path.substring(1);
+ }
+ return path;
+ }
+}
diff --git a/src/test/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnvTest.java b/src/test/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnvTest.java
new file mode 100644
index 0000000..84925d4
--- /dev/null
+++ b/src/test/java/top/gtb520/java/gnu/java/utils/library/utils/runtime/RunEnvTest.java
@@ -0,0 +1,9 @@
+package top.gtb520.java.gnu.java.utils.library.utils.runtime;
+
+import static top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.getJarPath;
+
+class RunEnvTest {
+ public static void main() {
+ System.out.println(getJarPath());
+ }
+}
\ No newline at end of file