如何用Java编译.java文件?

Rom*_*man 6 java packages compilation

我有Eclipse生成的以下代码(.java文件).

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Display;

public class HelloWorldSWT {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("Hello world!");
        shell.open();
        while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我想从命令行编译上面的文件.我去了源代码所在的目录,我尝试了两个命令:
1.javac HelloWorldSWT.java
2. javac -d/home/myname/workspace/HelloWorldSWT.java

在这两种情况下,我都有相同的错误"导入org.eclipse无法解决"./ home/myname/workspace/ - 是类文件所在的目录.

据我所知,编译器没有看到org.eclipse.swt包.为什么?

是不是因为有问题的软件包位于"/home/myname/workspace/org.eclipse.swt/"(不在"/ home/myname/workspace/org/eclipse/swt /"中)?

ben*_*ado 5

您需要设置类路径,以便Java编译器知道在哪里可以找到org.eclipse.*类.您可以使用命令行开关或环境变量来完成此操作.


St.*_*dow 5

好的, Stephen C 我手工做了这个工作.我只使用Notepad ++(我保证)

  1. 启动Notepad ++并创建文件HelloWorldSWT.java
  2. 从作者复制示例
  3. 保存!
  4. 打开cmd并转到HelloWorldSWT.java目录
  5. 运行命令 javac HelloWorldSWT.java

  6. 好的,转到Eclipse目录并找到正确的jar swt-3.4.2-win32-win32-x86.jar

  7. 再次运行它

    D:\workspaces\spf_workspace\hand-made>javac -cp "D:\Program files\eclipse3_5\plugins\org.eclipse.swt.win32.win32.x86_3.5.1.v3555a.jar" HelloWorldSWT.java

所有过程需要2分钟.

不要试图运行这个:

`D:\workspaces\spf_workspace\hand-made>java -cp "D:\Program files\eclipse3_5\plugins\org.eclipse.swt.win32.win32.x86_3.5.1.v3555a.jar;." HelloWorldSWT`
Run Code Online (Sandbox Code Playgroud)

注意:我添加当前目录.到classpath也是.