java - 构建包的过程?

标签 java package

我不太确定我在这里使用的 java 术语是否正确,但这就是我想要做的。我基本上有一些代码在单个目录中工作。我想重新组织他们。之前的一些帖子建议打包和导入可能是答案。由于缺少一些细节,所以我不太明白这个过程是如何运作的。

这是我的目录层次结构。

/myDir/myProject
/myDir/myProject/common
/mydir/myProject/feature1

功能1需要共同的东西。

1) 我是否共同编译代码并将其放入 jar 文件中,或者是否有其他机制来构建包?
2) 是否需要添加任何内容到实际的 *.java 文件中以表明它是一个包?
3)我需要把这个jar文件放在哪里?
4)在feature1文件中,如何导入公共(public)代码?例如,

导入 myDir.myProject.common.JARFILE;//这是否有效或者必须指定
//这些实际组件

最佳答案

您可以一次构建所有包 - 它们不必位于单独的 jar 文件中。在您的示例中,存在三个包,每个包对应一个包含源代码的目录。在 java 文件中,您应该添加一行来指示它是一个包。

package myDir.myProject.common;

导入时,您希望导入的每个类都应该有一行。像这样:

import myDir.myProject.common.Class1;
import myDir.myProject.common.Class2;

您还可以使用.*来指示包中的所有类,但如果可以的话最好列出特定的类。

编译时,应该从所有包顶部的根目录开始编译。这样,根目录就可以访问所有源代码文件。例如,如果您正在寻找 myDir.myProject.common.Class1 ,编译器自然会查找 myDir/myProject/common/对于 Class1 。请注意,这是一个相对目录。否则,如果包已经放在 jar 里,它会在那里找到它。如果您有一个计划在多个项目中使用的包,那么将其打包并引用目录,这样可以帮助实现可移植性和版本控制。

我的另一个建议是您使用像 Eclipse 这样的 IDE,它可以为您处理许多这些事情。当我在 Eclipse 中设置项目时,我添加源目录,创建包,然后在这些包中创建类。它为我处理代码中的所有 package 和 import 语句。

关于java - 构建包的过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670210/

相关文章:

java - 从行项目列表中提取值

java - 对象构造函数是否有合法用途?

java - Camunda BPM 执行和可变范围误解

java - 谷歌应用程序引擎云端点安全

Perl:动态加载模块并访问导出的内容

java - 在外部 WLS 中打包和部署 ADF 应用程序时出现问题

Flutter 3.7 基于此命令 `flutter create --template=package <package_name>` 创建与之前(3.3)和文档不同的结果

java - 如何将字符串拆分为字符串流?

Python代码组织帮助: importing functions

r - 链接到 .rd 文件中的 S4 方法?