为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

互换的青春 2021-08-25 17:30:27
据说一个 java 包可能包含类、接口、枚举,......但我一直在网上寻找,但我仍然没有找到我要找的东西......当我看到包信息文件时,他们也包含类...我的想法是包在同一个文件中定义类、接口等,但类的代码应该在一个单独的类文件中,不是吗?我是否应该在为 Eclipse 创建的每个类中命名相同的包,以便将它们放在同一个包下而不需要包信息文件?另一方面,Eclipse 真的有必要为每个包创建一个 treedir 吗?我可以在类所在的包文件中定义吗?包信息文件的内容是什么?也有人说当你要使用一个包时,它应该是 .jar 格式......是真的吗?我想要做的是构建一个通用的自定义包,以便在多个项目中使用它,但我想将它链接而不是复制到每个项目,所以我只修改了一次代码......这在 Eclipse 中可能吗?想法 1:+ 包含类的所有定义和位置的包文件 + 一堆按主题分布在不同文件夹中的类 + eclipse 将使用链接的包文件在包含包中引用的类的文件夹树中创建一个包。想法 2: + 没有包文件 + 每个类将通过包含包名称来说明哪个包在其中 + eclipse 将与引用相同包的一组链接类一起工作,这就是它在项目树中创建的内容。更新 20180904:我想将所有类存储在一个单独的文件夹中,例如“.../classes/*.java”我计划在 Eclipse 环境允许的情况下将其中一些类链接到一个包下,比如“.../src/com.dataproc/class1.java ...”我想编译包并为我正在开发的项目和特殊目录中的其他项目做好准备,比如“.../mylib/common/*.jar当我说“同时”时,是因为我想在相同的环境中工作,为我的包和我的项目创建类。正如您可能认为的那样,我仍然是 Java 和 Eclipse 的新手,但是,嘿,渴望学习!我不得不说我查看了提到的有关包的 Oracle 信息,但我仍然不清楚如何继续。这对我来说太基础了,所以我不明白是否必须在每个类 java 文件中声明包或在某个 package-info.java 文件中声明我想要的所有类,我所知道的是我必须使用“在我的项目中导入 mypackagename.*"...任何帮助或方向都非常感谢。
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

首先我尝试澄清java packagepackage-info.java文件和JAR文件的含义。

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

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


package-info.java文件的主要目的是为应用于包的注释创建一个空间,除了为包级 javadoc 提供一个家。[ Joseph D. Darcy 的 Oracle 博客]


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

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


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

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

  • 在一个特定的项目中组织可重用的组件,从现在开始称为A。A可以根据需要包含任意数量的包。一个需要被构建和部署,以提供给其他客户。有一些工具可用于帮助您满足这些要求(最常用的 Java自动化构建工具是Maven和Gradle)。

  • 项目编译源代码的使用JAR文件格式。

  • 其他项目可以重用A提供的功能,假设B是一个依赖于A的项目:为了重用A的组件,项目A jar 文件必须在B的类路径中可用。

  • 在您的项目开发过程中,您的 IDE 可以轻松满足这些要求,但是当您必须分发最终产品时,前面提到的工具是最佳解决方案。


查看完整回答
反对 回复 2021-08-25
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信