2016-12-05 15 views
0

Я хочу обновить сервер grails, чтобы использовать Java 8 вместо 7. Когда я обновляюсь, я сталкиваюсь с исключением, показанным ниже. Другие люди, которые сообщали о подобных ошибках, заявили, что проблему можно устранить, изменив Java-версию IDE, но это, похоже, не применяется здесь, потому что я получаю исключение, если я запускаю grails из командной строки или из Intellij. Другие люди сообщили, что обновление tomcat поможет, поэтому я нахожусь в последней версии от версии 7.Переход на Java8 с ошибкой для плагина jasper grails

My java home установлен на Java 8, я изменил исходный/целевой компилятор на 1.8, чтобы убедиться, что ничего . Я очистил все файлы .class, обновленные зависимости, clean-all, rm .slcache и т. д., и ничто, кажется, не влияет на это.

BuildConfig.groovy:  compile ":jasper:1.11.0" 
BuildConfig.groovy:  build ":tomcat:7.0.70" 
BuildConfig.groovy:grails.project.target.level = 1.8 
BuildConfig.groovy:grails.project.source.level = 1.8 

Примечание. Этот плагин использует Jasperreports 5.6.1. Я не смог определить с сайта TIBCO, должен ли их .jars поддерживать или поддерживать Java. Кроме того, я использую grails 2.5.5, и я на OSX.

2016-12-05 12:51:56,060 [http-bio-8091-exec-5] ERROR design.JRJdtCompiler - Compilation error 
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException 
    at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372) 
    at net.sf.jasperreports.engine.design.JRJdtCompiler$1.findType(JRJdtCompiler.java:255) 
    at net.sf.jasperreports.engine.design.JRJdtCompiler$1.findType(JRJdtCompiler.java:192) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:113) 
    at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49) 
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromTypeSignature(LookupEnvironment.java:1335) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromVariantTypeSignature(LookupEnvironment.java:1391) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeArgumentsFromSignature(LookupEnvironment.java:1172) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromTypeSignature(LookupEnvironment.java:1340) 
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createMethod(BinaryTypeBinding.java:550) 
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createMethods(BinaryTypeBinding.java:630) 
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:365) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:688) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:667) 
    at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:296) 
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:118) 
    at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49) 
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122) 
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:137) 
    at org.eclipse.jdt.internal.compiler.lookup.Scope.findType(Scope.java:1611) 
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2708) 
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2405) 
    at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:44) 
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:132) 
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:204) 
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1477) 
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1175) 
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:678) 
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:469) 
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:756) 
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:468) 
    at net.sf.jasperreports.engine.design.JRJdtCompiler.compileUnits(JRJdtCompiler.java:167) 
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:201) 
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:354) 
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:614) 
    at gdbxt.JasperReportJavaService.$tt__compileReport(JasperReportJavaService.groovy:31) 
    at gdbxt.ProteinPurificationBatchController$$EQ4X8VQ0.createReport(ProteinPurificationBatchController.groovy:102) 
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198) 
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Error 
| 
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 
1. The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files 
/* 
^ 
1 errors 

Error | 
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:204) 
Error | 
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:354) 
Error | 
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:614) 
Error | 
    at net.sf.jasperreports.engine.JasperCompileManager$compileReport.call(Unknown Source) 
Error | 
    at gdbxt.JasperReportJavaService.$tt__compileReport(JasperReportJavaService.groovy:31) 

ответ

1

Несмотря на то, что я видел другие люди отправляют, что более поздняя версия Tomcat 7 будет работать, это выглядит как обновление для Tomcat 8 сделал трюк для меня.

BuildConfig.groovy:  build ":tomcat:8.0.33" 

Перед тем как попробовать tomcat 7.0.70 Я пробовал tomcat 7.0.55. Если tomcat 7.0.70 должен был работать, а 7.0.55 этого не делал, то, возможно, проблема заключалась в том, что какая-то старая сумка 7.0.55 была поднята на 7.0.70.