【问题标题】:How to compile several java files which depend on each other?如何编译几个相互依赖的java文件?
【发布时间】:2018-10-22 15:57:41
【问题描述】:

我的 java 文件很少。 Main.java 使用来自 Picture.java 文件的 Picture 类。我想知道如何从命令行编译和运行 Main ?

这里是Main.java

package com.company;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class Main {
    static Picture pic = null; // Picture class ???

    public static void main(String[] args) {
        long t1, t2;
        String name = "bears.jpg";

        pic = new Picture(name);
        t1 = System.nanoTime();

        pic.new_img = meanFilter(pic.img);

        t2 = System.nanoTime();
        pic.writeImage();
        calculateTime(t1, t2);
    }

Picture.java:

...
public class Picture {

    public BufferedImage img;
    public BufferedImage new_img;
    ...

【问题讨论】:

  • 只需使用一个 javac 调用编译所有这些类,编译器就会为您处理好。

标签: java class compilation javac


【解决方案1】:

假设两个类在同一个目录中使用:

javac Picture.java Main.java

这样,依赖类 (Picture.java) 在你的 Main.java 之前首先编译

要运行它,您需要指定整个包结构并从src 目录运行它:

java com.company.Main

【讨论】:

  • 错误:无法找到或加载主类 Main ?
  • 我已经编辑了我的答案。要运行它,您需要指定整个包结构并从src 目录运行它。
  • 我将标记为已回答并投票。感谢您的回答。如果你能告诉我,如果我有一些要处理的图像,我应该把它放在哪里?图片类只是将文件名作为字符串,所有图片都在 com\company 文件夹中
  • 谢谢。约定将它们放在src/main/resources 下。
【解决方案2】:

您需要指定整个包。

尝试运行这个:

javac com.company.Picture.java com.company.Main.java

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多