Akash Rupela
Akash Rupela

Reputation: 159

java 8 - some error with compiling lambda function

public class GrammarValidityTest {
  private String[] dataPaths = new String[] {"data/", "freebase/", "tables/", "regex/"};

  @Test(groups = {"grammar"})
  public void readGrammars() {
    try {
      List<String> successes = new ArrayList<>(), failures = new ArrayList<>();
      for (String dataPath : dataPaths) {
   // Files.walk(Paths.get(dataPath)).forEach(filePath -> { 
      try {
        if (filePath.toString().toLowerCase().endsWith(".grammar")) {
          Grammar test = new Grammar();
          LogInfo.logs("Reading grammar file: %s", filePath.toString());
          test.read(filePath.toString());
          LogInfo.logs("Finished reading", filePath.toString());
          successes.add(filePath.toString());
        }
      }
      catch (Exception ex) {
        failures.add(filePath.toString());
      }
    });
  }
  LogInfo.begin_track("Following grammar tests passed:");
  for (String path : successes)
    LogInfo.logs("%s", path);
  LogInfo.end_track();
  LogInfo.begin_track("Following grammar tests failed:");
  for (String path : failures)
    LogInfo.logs("%s", path);
  LogInfo.end_track();
  assertEquals(0, failures.size());
}
catch (Exception ex) {
  LogInfo.logs(ex.toString());
}
}
}

The line beginning with // is the one that brings up the error -"illegal start of expression" starting at the '>' sign. I do not program much in java. I just downloaded a code from somewhere that is quite popular and supposed to run but I got this error. Any help/fixes/explanation would be appreciated.

Upvotes: 1

Views: 193

Answers (1)

uraimo
uraimo

Reputation: 19791

Run javac -version and verify that you are actually using the compiler from JDK8, it's possible that even if your java points to the 1.8 releaase, your javac has a different version.

If you are using Eclipse, remember to set the source type for your project to 1.8.

Edit:

Since you are using ant, verify that your JAVA_HOME environment variable points to your jdk1.8 directory.

Upvotes: 2

Related Questions