簡體   English   中英

java:從類中查找項目名稱

[英]java: find project name from within class

如何使用 java 反射或類似方法通過擁有類的實例來查找項目名稱? 如果不是項目名稱——這是我真正想要的——我能找到包名稱嗎?

項目只是 IDE 使用的組織工具,因此項目名稱不是包含在類或 JVM 中的信息。

要獲取包,請使用Class#getPackage() 然后,可以調用Package#getName()以獲取包作為您在代碼的包聲明中看到的字符串。

Class<?> clazz = Application.class;
Package package = clazz.getPackage();
System.out.println(package.getName());

項目名稱位於 IDE 的配置文件中,例如。 它是 Eclipse 中的 .project。 它是一個 xml 文件,項目名稱位於 projectDescription 元素的子元素名稱中。

Java 不知道項目名稱,但通常是代碼所在目錄的名稱。

例如,如果您正在處理一個項目(在 Eclipse 或 Intellij 中)並且該項目位於文件夾“~/eclipse-workspace/myproject”中,那么您想要的項目名稱可能是“myproject”。 請注意,這不是通用的 —— 甚至不適用於您的開發環境之外。

因此,您可能想要的是用戶目錄,在這些情況下,它與項目名稱一致。 如果有人只有一個二進制文件(jar 或類文件),它將是它的執行位置——這可能不一樣。

但是,如果這是您想要的,請使用以下內容:

String userDir = System.getProperty("user.dir");
Path path = Paths.get(userDir);
String project = path.getFileName();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM