在Ubuntu终端中编译复杂的Java程序

时间:2015-04-14 12:54:41

标签: java eclipse ubuntu compilation

我已经在Ubuntu中导出了我的Eclipse Java项目,其中包含了所有.java.class个文件。

该项目的组成如下:

- src
   - package1
        - file1.java
        ...
        - fileN.java
   ...
   - packageM
        - fileM.java
        ...
        - fileN.java

要运行程序,我使用以下命令:

java -Djava.library.path="/path/to/opencv/lib" -cp lib/*:src package.to.main.class.MainClass 

现在,我只更改了一个类中的一行(不是MainClass),我想重新编译并运行所有内容。但是,以下列方式尝试javac时:

javac path/to/main/class/MainClass.java

我从那以后获得了数以百万计的错误:

  • 未找到图书馆
  • 其他Java文件未链接

一些例子:

src/it/polimi/tweetcrawlingpipeline/pipeline/TweetCrawlingPipeline.java:7:    error: package org.opencv.core does not exist
import org.opencv.core.Core;
                  ^
  symbol:   class SVMSample
  location: class TweetCrawlingPipeline
  src/it/polimi/tweetcrawlingpipeline/pipeline/TweetCrawlingPipeline.java:158: error: cannot find symbol
   public GenericClassifier<SVMSample> getTextClassifier() {
               ^

如何解决这些问题?

感谢。

1 个答案:

答案 0 :(得分:1)

这可能不是您想要的答案,但只需使用javac在命令行编译就会很痛苦。除非您将命令和类路径放入shell脚本中,否则它可能会变得非常繁琐。

如果可能的话,我建议使用像蚂蚁,gradle甚至是maven这样的东西。好吧maven可能有点矫枉过正,但蚂蚁是一个合理的开始。