导入java类文本编辑器

导入java类文本编辑器,java,import,path,text-editor,textmate,Java,Import,Path,Text Editor,Textmate,最近,我开始使用文本编辑器(text mate)而不是eclipse来用Java编程。我在文件夹a(/Users/kevincastro/Documents/Code/eststructuras/clases)中有一个file1.java,在文件夹B(/Users/kevincastro/Documents/Code/eststructuras/datastructures)中有一个file2.java。我想将file2.java导入file1.java,但它不支持word。我试过: impor

最近,我开始使用文本编辑器(text mate)而不是eclipse来用Java编程。我在文件夹a(/Users/kevincastro/Documents/Code/eststructuras/clases)中有一个file1.java,在文件夹B(/Users/kevincastro/Documents/Code/eststructuras/datastructures)中有一个file2.java。我想将file2.java导入file1.java,但它不支持word。我试过:

import Users.kevincastro.Documents.code.eststructuras.datastructures.*
导入数据结构。*
导入文档.代码.结构.数据结构。*

它们都不起作用。我收到此错误“package Users.kevincastro.Documents.Code.Esstructures.datastructures不存在”


有什么帮助吗?谢谢

看来这里有一个严重的误会。您似乎认为
import
语句实际上是“导入文件”之类的。它不会做任何类似的事情。
import
语句的存在只是为了避免每次使用类时都必须编写类的完全限定名。以下面的代码为例:

package a
import b.Bar

public class Foo {
    private Bar bar = new Bar();
    public static void main(String [] args) {
        System.out.println(bar);
    }
}
这与写作完全相同:

package a

public class Foo {
    private b.Bar bar = new b.Bar();
    public static void main(String [] args) {
        System.out.println(bar);
    }
}
但是它并没有说太多关于
b.Bar
所在文件的位置!因此,在文本编辑器或源代码中没有要导入的文件。您只知道
b.Bar
必须位于名为b的文件夹中,但该文件夹可以位于任何位置

  • 编译a.Foo时,javac(编译器)必须同时编译b.Bar,或者在类路径中访问b.Bar。假设您的源代码位于/SomeDir/src/a/Foo.java和/SomeDir/src/b/Bar.java中,并且编译为/SomeDir/target。示例:

    • 同时编译这两个类(实际上,是/SomeDir/src中的所有java源文件):
      javac-d/SomeDir/target/SomeDir/src/**.java

    • 编译Foo,引用Bar(已编译为/SomeOtherDir/b/Bar.class):
      javac-d/SomeDir/target-classpath/SomeOtherDir/SomeDir/src/a/Foo.java

    • 或者Bar.class可以在jar文件中,等等

  • 运行Foo时,Bar必须位于类路径中,以便类加载器可以找到它。如果要运行/SomeDir/a/Foo.class,并且Bar位于/SomeOtherDir/b/Bar.class:
    java-classpath”/SomeDir:/SomeOtherDir“a.Foo

  • 一旦您测试了所有这些,您应该准备好爱上现代构建工具,如Maven或Gradle,这将使您的生活更加轻松


  • 你编译过文件2吗?当您尝试构建file1时,是否提供了对file2.class的类路径引用?我已经尝试过了,但仍然不起作用。和MORA,而不是导入我想导入空洞文件夹的文件,因为它包含MMOA而不是一个文件。Java,我想您可能会考虑使用像Ant这样的构建工具。