是否可以在运行时获取与我的应用程序相关的所有软件包? (例如字符串列表)
我只对在应用程序中声明的包感兴趣,而对来自依赖项的包不感兴趣。
我试图按主类搜索它们:
System.getProperty("sun.java.command")
但是,在这种情况下,我只能得到主类的软件包。
我认为它的应用程序和打包方式可能有所不同。但是,现在我主要使用Spring Boot应用程序,这些应用程序打包为 jar 。
答案 0 :(得分:2)
您应该以这种方式尝试,指定主类包并进行过滤
spring boot主类包 com.main
Package[] p = Package.getPackages();
for(Package p1 : p) {
if(p1.getName().startsWith("com.main"))
System.out.println(p1.getName());
}