在Java项目中获取基本包
如何以编程方式获取Java项目的基本包 例如,我有以下几点:在Java项目中获取基本包,java,package,Java,Package,如何以编程方式获取Java项目的基本包 例如,我有以下几点: my-app - src - main - java - hello - world - util - exception - misc 我想得到:hello.world 谢谢。有一个类-类可以做到这一点: Class c = Class.forName("MyClass"); // if you want to specify a class Class c =
my-app
- src
- main
- java
- hello
- world
- util
- exception
- misc
我想得到:hello.world
谢谢。有一个类-类可以做到这一点:
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,上面的代码将打印:
包装:我的包装
类别:MyClass
完整标识符:mypackage.MyClass
您可以获取此信息并按自己的方式进行修改。有一个类-类可以执行此操作:
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,上面的代码将打印:
包装:我的包装
类别:MyClass
完整标识符:mypackage.MyClass
您可以获取此信息并按自己的方式进行修改。假设我们有一个名为
HelloWorld
的类,并打包在以下目录下:
package hello.world.test;
然后
将给您hello.world.test
作为包名
在您的情况下,可能需要删除最后一个级别,如下所示:
basePackageName = packageName.substring(0, packageName.lastIndexOf("."));
并拥有
hello.world
假设我们有一个名为HelloWorld
的类,并打包在以下目录下:
package hello.world.test;
然后
将给您hello.world.test
作为包名
在您的情况下,可能需要删除最后一个级别,如下所示:
basePackageName = packageName.substring(0, packageName.lastIndexOf("."));
并拥有
hello.world
定义基本包…this.getClass().getCanonicalName().split(“\\”)[0]
您的问题不太清楚。是否要在项目中查找基本包的名称?或者希望在项目中创建新包。请再详细说明一下。GetPackageName o=newgetpackagename();Package pack=o.getClass().getPackage();字符串packageName=pack.getName();System.out.println(“Package=“+packageName”)
@selah1936如果您要回答,请在回答中回答,而不是在注释中。define base package…this.getClass().getCanonicalName().split(\\)[0]
您的问题不太清楚。是否要在项目中查找基本包的名称?或者希望在项目中创建新包。请再详细说明一下。GetPackageName o=newgetpackagename();Package pack=o.getClass().getPackage();字符串packageName=pack.getName();System.out.println(“Package=“+packageName”)
@selah1936如果你要回答,请在回答中回答,而不是在评论中。是的。那样的话。但是如果将HelloWorld
放在另一个级别的包中,那就行不通了,比如说hello.world.test.misc
,因为它将有hello.world.test
@JulezJupiter,您将如何定义基本包?是的。那样的话。但是如果将HelloWorld
放在另一个级别的包中,那就行不通了,比如说hello.world.test.misc
,因为它将有hello.world.test
@JulezJupiter,您如何定义您的基本包?