Я пытаюсь скомпилировать образцы 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
Является ли 'AbstractReportGenerator' в вашем пути к классу (после компиляции)? –
В Windows или Linux? – immibis
O/S - это MAC, путь к классу - настоящая рабочая папка и скомпилированные классы (AbstractReportGenerator.class, AbstractReportGenerator $ 1.class, AbstractReportGenerator $ OutputType.class) находятся в той же папке, что и Sample1.java – crankshaft