Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
如何在Eclipse中同时构建自定义java包和项目?_Java_Eclipse_Class_Package_Project - Fatal编程技术网

如何在Eclipse中同时构建自定义java包和项目?

如何在Eclipse中同时构建自定义java包和项目?,java,eclipse,class,package,project,Java,Eclipse,Class,Package,Project,据说java包可能包含类、接口、枚举等等。。。但我一直在网上寻找,我仍然没有找到我要找的。。。当我看到包信息文件时,它们也包括类。。。我的想法是,包在同一个文件中定义类、接口等,但类的代码应该在一个单独的类文件中,不是吗 我是否应该在为Eclipse创建的每个类中命名相同的包,以便将它们放在同一个包下,而不需要包信息文件?另一方面,Eclipse真的有必要为每个包创建一个treedir吗?我可以在类所在的包文件中定义吗?包信息文件的内容是什么 它还说,当你要使用一个包时,它应该是一个.jar格式

据说java包可能包含类、接口、枚举等等。。。但我一直在网上寻找,我仍然没有找到我要找的。。。当我看到包信息文件时,它们也包括类。。。我的想法是,包在同一个文件中定义类、接口等,但类的代码应该在一个单独的类文件中,不是吗

我是否应该在为Eclipse创建的每个类中命名相同的包,以便将它们放在同一个包下,而不需要包信息文件?另一方面,Eclipse真的有必要为每个包创建一个treedir吗?我可以在类所在的包文件中定义吗?包信息文件的内容是什么

它还说,当你要使用一个包时,它应该是一个.jar格式的。。。这是真的吗

我试图做的是构建一个通用的自定义包,以便在多个项目中使用它,但我希望将它链接到每个项目,而不是复制到每个项目,因此我只修改代码一次。。。这在Eclipse中可能吗

想法1: +包含类的所有定义和位置的packagefile +不同文件夹中按主题分布的一组类别 +eclipse将使用链接的包文件在文件夹树中创建一个包,其中包含包中引用的类

想法2: +没有打包文件 +每个类都会通过包含包名来说明包在哪个包中 +eclipse将使用一组链接的类来引用同一个包,所以这就是它在项目树中创建的


更新20180904:

  • 我想将我的所有类存储在一个单独的文件夹中,如“../classes/*.java”

  • 我计划在Eclipse环境允许的情况下,将其中一些类链接到包中,比如“../src/com.dataproc/class1.java…”

  • 我想编译这个包,为我正在开发的项目和一个特殊目录中的其他项目做好准备,比如“../mylib/common/*.jar”

  • 我说“同时”是因为我想在相同的环境中为我的包和项目创建类

你可能会想,我还是java和Eclipse的新手,但是,嘿,渴望学习!我不得不说我已经复习了前面提到的内容,但我仍然不清楚如何继续。它对我来说太基本了,所以我不知道是必须在每个类java文件中声明包,还是必须在一些包info.j中声明我想要的所有类ava文件,我知道的是我必须在我的项目中使用“import mypackagename.*”

非常感谢您的帮助或指导



更新20180926:这个问题已经解决了

首先,我试图澄清java包、package-info.java文件和JAR文件的含义

Java包的概念独立于用于开发的IDE。from:Java包是一组相关类型,提供访问保护和名称空间管理。请注意,类型指的是类、接口、枚举和注释类型

要点是:同一个包中的类可以访问彼此的包私有成员和受保护成员。 当您必须在包中组织源代码时,这是必须考虑的关键因素。


package-info.java文件的主要目的是为应用于包的注释创建一个空间,同时为包级别的javadoc提供一个主页。[]


代表Java存档。它是一种基于流行ZIP文件格式的文件格式,用于将多个文件聚合为一个文件

因此,JAR文件格式是用于将许多Java类文件以及相关元数据和资源(文本、图像等)聚合到一个文件中以供分发的主要标准


我试图做的是构建一个通用的自定义包,以便在多个项目中使用它,但我希望将它链接到每个项目,而不是复制到每个项目,所以我只修改代码一次……在Eclipse中这可能吗

如果您想正确地做到这一点,您必须按照以下方式构建您的项目:

  • 将可重用组件组织到一个特定的项目中,从现在开始称为a。a可以包含所需的任意多个包。a需要构建和部署以供其他客户端使用。有一些工具可以帮助您满足这些需求(Java最常用的是和)
  • 项目编译的源代码以JAR文件格式提供
  • 其他项目可以重用A提供的功能,比如说B是一个依赖于A的项目:为了重用A项目的组件,jar文件必须在B的类路径中可用
  • 在项目开发过程中,IDE可以很容易地满足这些需求,但是当您必须分发最终产品时,前面提到的工具是最好的解决方案

一个包可以包含类、接口等以及一个或无
package info.java
文件。一个包对应一个文件夹(例如,包
com.example.foo
是文件夹
com/example/foo
).java文件不能包含类、接口等,但可以包含Javadoc,还可以用于向包添加批注。源文件(
*.java
)编译为字节码(
*.class
文件)。将这些编译的
*.class
文件作为单个JAR文件而不是包含
*.class
文件的目录发送是很常见的。这让我重新表述了这个问题,因为我注意到它有点混乱……我不想做的是使用不同的IDE来编译这两个东西(项目和自定义公共包)两步编译(JAR和项目