我不太确定我在这里使用的 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/