如何编译多个相互依赖的 java 个文件?
How to compile several java files which depend on each other?
我有几个 java 个文件。 Main.java
使用 Picture.java
文件中的 Picture
class。我想知道如何从命令行编译和 运行 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;
...
假设两个 classes 在同一目录中使用:
javac Picture.java Main.java
这样依赖 class (Picture.java
) 在 Main.java
之前先被编译
要运行它,您需要指定整个包结构,运行它来自src
目录:
java com.company.Main
您需要指定整个包。
尝试运行这个:
javac com.company.Picture.java com.company.Main.java
我有几个 java 个文件。 Main.java
使用 Picture.java
文件中的 Picture
class。我想知道如何从命令行编译和 运行 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;
...
假设两个 classes 在同一目录中使用:
javac Picture.java Main.java
这样依赖 class (Picture.java
) 在 Main.java
要运行它,您需要指定整个包结构,运行它来自src
目录:
java com.company.Main
您需要指定整个包。
尝试运行这个:
javac com.company.Picture.java com.company.Main.java