lindenb / jvarkit

Java utilities for Bioinformatics
https://jvarkit.readthedocs.io/
Other
482 stars 133 forks source link

compilation error #85

Closed lianyh closed 7 years ago

lianyh commented 7 years ago

Verify

Describe your issue here. The compilation error as below (although i have set my JAVA_HOME pointing to 1.8.0_131-b11 version in /home/lianyh/bin): export JAVA_HOME=/home/lianyh/ PATH=$JAVA_HOME/bin:$PATH

error: echo "com.github.lindenb.jvarkit.annotproc.JVarkitAnnotationProcessor" > /projects/lianyh/exomeseq/jvarkit/_tmp-2.9.1/META-INF/services/javax.annotation.processing.Processor echo '### Printing javac version : it should be Oracle 1.8 (NOT OpenJDK). if Not, check your $${PATH}.'

Printing javac version : it should be Oracle 1.8 (NOT OpenJDK). if Not, check your $${PATH}.

javac -version Picked up _JAVA_OPTIONS: -XX:+UseSerialGC javac 1.7.0_25

compile

javac -d /projects/lianyh/exomeseq/jvarkit/_tmp-2.9.1 -sourcepath /projects/lianyh/exomeseq/jvarkit/src/main/java:/projects/lianyh/exomeseq/jvarkit/src/main/generated-sources/java /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java Picked up _JAVA_OPTIONS: -XX:+UseSerialGC /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:84: error: illegal start of expression map(C->C.getName()). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:169: error: illegal start of expression filter(E->E.getKind()==ElementKind.CLASS). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:170: error: illegal start of expression filter(E-> E.getAnnotation(IncludeSourceInJar.class) !=null). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:171: error: illegal start of expression forEach(E->{ ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:171: error: illegal start of expression forEach(E->{ ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:171: error: ';' expected forEach(E->{ ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:172: error: not a statement if( thisDir==null || thisDir.isEmpty()) return; ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:172: error: ';' expected if( thisDir==null || thisDir.isEmpty()) return; ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:174: error: illegal start of type }); ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:180: error: expected roundEnv.getElementsAnnotatedWith(Program.class).stream(). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:180: error: expected roundEnv.getElementsAnnotatedWith(Program.class).stream(). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:180: error: ';' expected roundEnv.getElementsAnnotatedWith(Program.class).stream(). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:182: error: illegal start of type filter(E->{final Program prog=E.getAnnotation(Program.class); return prog!=null && prog.generate_doc();}). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:182: error: ';' expected filter(E->{final Program prog=E.getAnnotation(Program.class); return prog!=null && prog.generate_doc();}). ^ /projects/lianyh/exomeseq/jvarkit/src/main/java/com/github/lindenb/jvarkit/annotproc/JVarkitAnnotationProcessor.java:183: error: invalid method declaration; return type required forEach(E->{

Your environment

Steps to reproduce

Tell us how to reproduce this issue. Please provide an example. make sam2tsv

Expected behaviour

Tell us what should happen a compiled version of sam2tsv or a jar file

Actual behaviour

Tell us what happens instead error

lindenb commented 7 years ago

the error is here;

Printing javac version : it should be Oracle 1.8 (NOT OpenJDK). if Not, check your $${PATH}.

(...)
Printing javac version : it should be Oracle 1.8 (NOT OpenJDK). if Not, check your $${PATH}.
javac -version
Picked up _JAVA_OPTIONS: -XX:+UseSerialGC
javac 1.7.0_25
(....)

you're not using java 1.8 but java 1.7 ( see http://lindenb.github.io/jvarkit/Sam2Tsv.html )

java compiler SDK 1.8 http://www.oracle.com/technetwork/java/index.html (NOT the old java 1.7 or 1.6) . Please check that this java is in the ${PATH}. Setting JAVA_HOME is not enough : (e.g: https://github.com/lindenb/jvarkit/issues/23 )