当然可以。在Java中,可以使用System.getProperty()
方法来获取Java应用程序的系统属性。其中,可以获取到的属性java.class.path
可以用来判断当前应用程序是否运行在JAR文件中。
以下是一个示例代码:
public class CheckIfRunningInJar {
public static void main(String[] args) {
String classPath = System.getProperty("java.class.path");
if (classPath.endsWith(".jar")) {
System.out.println("Running in JAR file");
} else {
System.out.println("Not running in JAR file");
}
}
}
这段代码将输出当前应用程序是否运行在JAR文件中的信息。如果运行在JAR文件中,则输出“Running in JAR file”,否则输出“Not running in JAR file”。
需要注意的是,这种方法只能检测当前应用程序是否运行在JAR文件中,而不能检测当前应用程序是否运行在其他类型的容器中,例如WAR文件或者Docker容器中。如果需要更准确的检测方法,可以使用其他方法来实现。
领取专属 10元无门槛券
手把手带您无忧上云