2016-12-05 3 views
0

Grails 서버를 7 대신 Java 8로 업그레이드하고 싶습니다. 업그레이드 할 때 아래 예외가 발생합니다. 유사한 오류를보고 한 다른 사람들은 IDE의 Java 버전을 변경하여 문제를 해결할 수 있다고 말했지만 명령 행이나 Intellij에서 grails를 실행하면 예외가 발생하기 때문에 여기서는 적용되지 않습니다. 다른 사람들은 Tomcat을 업그레이드하는 것이 도움이 될 것이라고보고했습니다. 따라서 최신 버전 7부터 사용하고 있습니다.jasper grails plugin 용 Java8 업그레이드 실패

Java 홈이 Java 8로 설정되어 있으므로 컴파일러의 소스/대상을 1.8로 변경하여 모든 .class 파일, 새로 고침 - 종속성, 클린 - 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 8을 지원할 수 있는지 여부를 결정할 수 없었습니다. 또한 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

나는 다른 사람들이 톰캣 7의 최신 버전이 작동 것이라고 게시 만났다고하더라도, 그것은 나를 위해 톰캣 8 트릭 않았다 업데이트하는 것 같습니다.

BuildConfig.groovy:  build ":tomcat:8.0.33" 

톰캣 7.0.70을 시험해보기 전에 나는 톰캣 7.0.55를 시험해보고 있었다. tomcat 7.0.70이 작동하고 7.0.55가 작동하지 않아야한다면 아마도 문제는 이전 7.0.55 jar가 7.0.70에 의해 선택되었을 것입니다.