如何从包含其他类的命令提示符编译主类

时间:2013-08-05 13:14:50

标签: java

我正在尝试从命令提示符运行java项目。但是当我输入

javac BatchImport.java
然后我得到了错误。以下是这些错误的屏幕截图

Compile Errors

这是日志

D:\LS360BatchImportIntegration\src\main\java\com\softech\ls360\integration>dir

08/05/2013  05:47 AM    <DIR>          .
08/05/2013  05:47 AM    <DIR>          ..
08/01/2013  05:03 AM            11,707 AbstractBatchImport.java
08/05/2013  04:06 AM             1,591 BatchImport.java
08/05/2013  05:47 AM    <DIR>          email
08/05/2013  05:47 AM    <DIR>          file
08/05/2013  05:47 AM    <DIR>          ftp
08/05/2013  05:47 AM    <DIR>          sftp
08/05/2013  05:47 AM    <DIR>          util
08/05/2013  05:47 AM    <DIR>          vintners
08/05/2013  05:47 AM    <DIR>          webservice
           2 File(s)         13,298 bytes
           9 Dir(s)  122,904,571,904 bytes free

D:\LS360BatchImportIntegration\src\main\java\com\softech\ls360\integration>javac BatchImport.java
BatchImport.java:12: package com.softech.ls360.integration.util does not exist
import com.softech.ls360.integration.util.IntegrationUtil;
                                     ^
BatchImport.java:13: package com.softech.ls360.integration.util does not exist
import com.softech.ls360.integration.util.VU360IntegrationProperties;
                                     ^
BatchImport.java:14: package com.softech.ls360.integration.vintners does not exist
import com.softech.ls360.integration.vintners.Vintners;
                                         ^
BatchImport.java:46: cannot find symbol
symbol  : class Vintners
location: class com.softech.ls360.integration.BatchImport
            Vintners vintners = new Vintners(customerName, randomUUIDString);
            ^
BatchImport.java:46: cannot find symbol
symbol  : class Vintners
location: class com.softech.ls360.integration.BatchImport
            Vintners vintners = new Vintners(customerName, randomUUIDString);
                                    ^
5 errors

D:\LS360BatchImportIntegration\src\main\java\com\softech\ls360\integration>

我的主要课程也包括其他课程。其他类也包括其他类。如何编译包含多个类的项目?

由于

3 个答案:

答案 0 :(得分:4)

javac假定当前目录是默认包的位置。您正在源目录结构的深处运行它。

cd返回src/main/java目录并使用您要编译的文件的完整路径。

答案 1 :(得分:0)

错误日志:

BatchImport.java:12: package com.softech.ls360.integration.util does not exist
import com.softech.ls360.integration.util.IntegrationUtil;

表示在构建路径中找不到类com.softech.ls360.integration.util.IntegrationUtil;。因此,您需要将jar添加到包含上述类的构建路径中。

我建议您使用和IDE运行包含其构建路径中包含的所有类的类。此外,如果您想通过命令提示符完成,this SO答案可以帮助您。但我坚持要你使用IDE。

答案 2 :(得分:0)

假设 LS360BatchImportIntegration 是您项目的 base_directory cd base_directory 。从那里使用以下命令:

javac -d classes src\main\java\com\softech\ls360\integration\BatchImport.java

这将编译您的类并将它们放在 base_directory \ classes 文件夹中。 如果您的项目具有外部依赖项,请在-cp命令

中使用javac选项