2016-08-01 2 views
1

Я пытаюсь скомпилировать образцы pentaho на OSX от here.Ошибка компиляции Java. С использованием «extends»

Sample1.java расширяет AbstractReportGenerator.java.

Я экспортировал CLASSPATH в консоли, чтобы включить PWD:

export CLASSPATH=/Users/xxx/java-dev/pentaho/:/Users/xxx/java-dev/pentaho/lib/ 

Я скомпилированный AbstractReportGenerator.java успешно используя javac, в той же папке, что и файл Sample1.java, однако, когда я пытаюсь скомпилировать Sample1.java это всегда с 3 ошибками, связанными с AbstractReportGenerator.

Любое предложение о причине и решении?

структура папок:

Working Folder > 
- Sample1.java 
- AbstractReportGenerator.java 
- AbstractReportGenerator.class 
- AbstractReportGenerator$1.class 
- AbstractReportGenerator$OutputType.class 
- lib 
    - pentaho .jar files 

Команда:

javac -cp "lib/*" Sample1.java 
Sample1.java:41: error: cannot find symbol 
public class Sample1 extends AbstractReportGenerator 
          ^
    symbol: class AbstractReportGenerator 
Sample1.java:61: error: cannot find symbol 
     final ClassLoader classloader = this.getClass().getClassLoader(); 
             ^
    symbol: method getClass() 
Sample1.java:132: error: package AbstractReportGenerator does not exist 
    new Sample1().generateReport(AbstractReportGenerator.OutputType.PDF, outputFilename); 
                 ^
Note: Sample1.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
3 errors 
+0

Является ли 'AbstractReportGenerator' в вашем пути к классу (после компиляции)? –

+0

В Windows или Linux? – immibis

+0

O/S - это MAC, путь к классу - настоящая рабочая папка и скомпилированные классы (AbstractReportGenerator.class, AbstractReportGenerator $ 1.class, AbstractReportGenerator $ OutputType.class) находятся в той же папке, что и Sample1.java – crankshaft

ответ

0

Большое спасибо за все предложения, после добавления целевой папки, это предложение из @ Roman Vottner, наконец, работал:

javac -cp ./lib/*:./target -d ./target AbstractReportGenerator.java Sample1.java 
0

Попробуйте использовать:

javac -cp lib/*:. Sample1.java 
+1

Он пытается скомпилировать файл и не выполнять его еще;) –

+0

Спасибо, что была опечатана :) –

+0

@victor vosa - спасибо, но это приводит к 3 одинаковым ошибкам. – crankshaft

Смежные вопросы