如何编译java代码?

6qfn3psc  于 2021-06-30  发布在  Java
关注(0)|答案(5)|浏览(333)

我有一堆java文件,我正在运行下面的代码试图编译它们。

"\Program Files\Java\jdk1.6.0_16\bin\javac" Main.java

我看到了这个错误信息

Main.java:3: package colourtiler.patternsdoes not exist 
import colourtiler.patterns.draw;

它所引用的代码位于patters/patterncolour.java文件夹中,如何使其包含此文件?
谢谢

vd8tlhqk

vd8tlhqk1#

我需要看到一个文件清单,以确定,但它听起来应该在彩色瓷砖/模式。

vx6bjr1n

vx6bjr1n2#

使用-classpath(又名-cp)或-sourcepath参数来设置基源位置。使用-classpath参数指定二进制依赖项(jar文件或base.class文件目录)。使用-d参数指定输出目录。
需要注意的一点是名称空间(包)必须与目录结构匹配。

C:\temp>dir /B /S
C:\temp\bin
C:\temp\foo
C:\temp\src
C:\temp\src\foo
C:\temp\src\foo\Bar.java
C:\temp\src\foo\Baz.java

C:\temp>type src\foo\Bar.java
package foo;
public class Bar extends Baz {}

C:\temp>javac -cp .\src -d .\bin src\foo\Bar.java

C:\temp>dir /B /S
C:\temp\bin
C:\temp\foo
C:\temp\src
C:\temp\bin\foo
C:\temp\bin\foo\Bar.class
C:\temp\bin\foo\Baz.class
C:\temp\src\foo
C:\temp\src\foo\Bar.java
C:\temp\src\foo\Baz.java

类文件声明 package foo; 必须在目录中 foo . 类文件声明 package foo.foo; 必须在目录中 foo\foo 等等。
请参阅javac的文档。更多详情请参见此处 classpath 文档。

o3imoua4

o3imoua43#

通过安装eclipse并将包含类的文件夹配置为eclipse项目(使用import特性),您将获得很多时间。
它将避免您将所需的jar库、输出文件夹等作为参数传递,。。。

q3aa0525

q3aa05254#

您需要在javac/java的 -cp 或者 -classpath 争论。例如

javac -cp .;c:/path/to/colourtiler/patterns/draw Main.java

哪里 c:/path/to/colourtiler/patterns/draw 指向依赖类的包根。如果你有更多的,那么你需要用分号把它分开。如果路径中有空格,则需要引用各个路径。或者,您也可以将它打包到一个jar文件中(或者使用一个已经打包的文件),并将jar文件的完整文件路径放在类路径中。
如果收集和键入类路径变得无聊,可以考虑使用批处理/shell文件。
祝你好运。

izj3ouym

izj3ouym5#

首先需要编译 patters/PatternColour.java 然后在编译时将结果类的位置添加到类路径中 Main.java

相关问题