如何以编程方式获取Java项目的基本软件包?
例如,我有以下内容:
my-app
- src
- main
- java
- hello
- world
- util
- exception
- misc
我想得到:hello.world
。
谢谢。
答案 0 :(得分:1)
有一类- Class ,可以做到这一点:
Class c = Class.forName("MyClass"); // if you want to specify a class
Class c = this.getClass(); // if you want to use the current class
System.out.println("Package: "+c.getPackage()+"\nClass: "+c.getSimpleName()+"\nFull Identifier: "+c.getName());
c 在包 mypackage 中表示类 MyClass ,上面的代码将打印:
包装:mypackage
Class:MyClass
完整标识符:mypackage.MyClass
您可以获取此信息并以自己的方式对其进行修改。
答案 1 :(得分:1)
假设我们有一个名为HelloWorld
的类,并包装在以下位置:
package hello.world.test;
然后
HelloWorld.class.getPackage().getName()
将为您提供hello.world.test
作为程序包名称。
在您的情况下,可能您需要删除以下级别:
basePackageName = packageName.substring(0, packageName.lastIndexOf("."));
并拥有hello.world
。