Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java项目中获取基本包_Java_Package - Fatal编程技术网

在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 =

如何以编程方式获取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 = 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,您如何定义您的基本包?