如何通过拥有类的实例来使用java反射或类似方法来查找项目名称? 如果不是项目名称 - 这是我真正想要的 - 我可以找到包名吗?
答案 0 :(得分:6)
项目只是IDE使用的组织工具,因此项目名称不是类或JVM中包含的信息。
要获取包裹,请使用Class#getPackage()。然后,可以调用Package#getName()将包作为您在代码的包声明中看到的String。
Class<?> clazz = Application.class;
Package package = clazz.getPackage();
System.out.println(package.getName());
答案 1 :(得分:0)
项目名称位于IDE的配置文件中,例如。它是Eclipse中的.project。它是一个xml文件,项目名称位于projectDescription元素的子元素名称中。
答案 2 :(得分:0)
Java并不知道Project Name,但通常是代码所在目录的名称。
例如,如果您正在处理一个项目(在Eclipse或Intellij中),并且该项目在文件夹“〜/ eclipse-workspace / myproject”中,则所需的项目名称可能是“ myproject”。请注意,这将不是通用的,甚至在您的开发环境之外也不适用。
因此,您可能想要的是用户目录,在这种情况下,该目录将与项目名称一致。如果某人只有二进制文件(jar或类文件),它将在-可能是不同的位置执行。
但是,如果您要这样做,请使用以下命令:
String userDir = System.getProperty("user.dir");
Path path = Paths.get(userDir);
String project = path.getFileName();