Java - compilation error: cannot access-Funktion

Habe ich osgi-Projekt. Jedes Bündel ist mit einem separaten maven-Projekt. Projekt ist groß genug und umfasst etwa 10 bundles. Alles funktioniert und ist ok.

Heute habe ich dazu noch eine Bibliothek - https://code.google.com/p/owasp-java-html-sanitizer/ . Ich habe eingestellt, dass alle Abhängigkeiten und ide (netbeans 8) zeigt, ist alles ok. Jedoch bekomme ich die folgende Zusammenstellung von code in dieser Methode:

@Override
public void sanitize(Map<String,Object> policies){
    PolicyFactory  policy=(PolicyFactory) policies.get("html0");
    this.code=policy.sanitize(this.code);
}

In der zweiten Zeile der Methode (dies.code...) bekomme ich folgende Zusammenstellung error: cannot access-Funktion. Kann nicht verstehen, worum es geht...


BEARBEITEN

Import-Abschnitt:

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.owasp.html.PolicyFactory;


BEARBEITEN

COMPILATION ERROR : 
-------------------------------------------------------------
com/subjects/SubjectDirItemCore.java:[166,24] error: cannot access Function
1 error
-------------------------------------------------------------
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 1.687s
Finished at: Wed Feb 18 16:11:11 MSK 2015
Final Memory: 14M/205M


BEARBEITEN
- ich habe versucht, per mvn install-X

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
ausführen Ziel
org.apache.maven.plugins:maven-compiler-plugin:2.3.2:kompilieren
(default-compile) on-Projekt com.....: Kompilierungs-Fehler
..../subjects/SubjectDirItemCore.java:[166,24] Fehler: kann nicht zugreifen
Funktion

in
org.apache.maven.lifecycle.intern.MojoExecutor.execute(MojoExecutor.java:213)
bei
org.apache.maven.lifecycle.intern.MojoExecutor.execute(MojoExecutor.java:153)
bei
org.apache.maven.lifecycle.intern.MojoExecutor.execute(MojoExecutor.java:145)
bei
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
bei
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
bei
org.apache.maven.lifecycle.intern.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
bei
org.apache.maven.lifecycle.intern.LifecycleStarter.execute(LifecycleStarter.java:161)
bei org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) an
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at
org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at
org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) bei
org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at
Sonne.reflektieren.NativeMethodAccessorImpl.invoke0(Native Method) at
Sonne.reflektieren.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
bei
Sonne.reflektieren.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
bei java.lang.reflektieren.Methode.invoke(Method.java:497) at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
bei
org.codehaus.plexus.classworlds.launcher.Launcher.starten(Launcher.java:230)
bei
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
bei
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Verursacht durch: org.apache.maven.plugin.CompilationFailureException:
Zusammenstellung Ausfall /..../subjects/SubjectDirItemCore.java:[166,24]
Fehler: kein Zugriff auf Funktion

in
org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:656)
bei
org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
bei
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
bei
org.apache.maven.lifecycle.intern.MojoExecutor.execute(MojoExecutor.java:209)
... 19 mehr [FEHLER]

  • Was JDK Sie verwenden, um Ihren code kompilieren?
  • openjdk version "1.8.0-internen" OpenJDK Runtime Environment (build 1.8.0-intern-_2014_11_22_23_46-b00) OpenJDK 64-Bit Server VM (build 25.40-b18, mixed mode)
  • Ok. Wenn Sie Guave in Ihrem pom.xml was ist die genaue version? Auch, welche version der owasp-java-html-sanitizer verwenden Sie? Es sieht aus wie Inkompatibilität zwischen alten Guave und JDK8. Versuchen, um es zu kompilieren gegen JDK7.
  • Ich habe keine Guave bei DIESEM budle pom. Guave 12 ist nur für die owasp-Bibliothek. Aber auf server-Seite habe ich java8+gf4.1+ owasp lib bundle und es ist ok.
  • Versuchen Sie, fügen Sie die Letzte Guave (18) auf Ihrer pom.xml. Guave 12 veröffentlicht wurde, bevor JDK 8, und AFAIK hatte es einige Kompatibilitätsprobleme.
  • Ich habe versucht, mit Guaven-18 - der gleiche Fehler.
  • haben Sie ausgeschlossen transitive Abhängigkeit von owasp zu Guave? Wenn Sie die neuesten (r239) von owasp, die es beheben sollten, um die Letzte Guave, aber für einige ältere Versionen, die Sie angegeben genauen Guave version in Ihrer POM.

InformationsquelleAutor | 2015-02-18
Schreibe einen Kommentar