2015-07-22 10 views
5

से संस्करण का मुद्दा 1.7 से 1.8 पर जावा संस्करण को अपग्रेड करने का प्रयास कर रहा हूं। मैवेन प्लगइन में लक्ष्य संस्करण को 1.8 तक अपग्रेड करने के अलावा किसी भी कोड को नहीं बदला।जैक्सन ऑब्जेक्ट मैपर जावा 7 से जावा 8

Error: cannot access Versioned

स्रोत:

private ObjectMapper mapper = new ObjectMapper(); 
return mapper.writeValueAsString(data); 

इंटरनेट में कहीं भी किसी भी प्रलेखन नहीं मिल सका। मैंने सोचा 1.8 पूरी तरह पिछड़ा संगत होना चाहिए।

संपादित: भी, पोम बदल रहा है, तो मैं जावा 8 करने के लिए अपने स्थानीय Maven निर्धारित करते हैं, यह अभी भी तोड़ रहा है बिना। । तो जावा 8 के साथ संकलन मुद्दा :(

[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile 
[INFO] | +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.11:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.11:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 
[INFO] +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile 
[INFO] | | +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.11:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.0-rc2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile 
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile 

-X उत्पादन कर रहा है:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project my-module: Compilation failure 
[ERROR] /Users/xxxxxx/MyApp.java:[52,15] error: cannot access Versioned 
[ERROR] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project myntra-orch-lms: Compilation failure 
/Users/xxxxxx/MyApp.java:[52,15] error: cannot access Versioned 

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure 
/Users/xxxxxx/MyApp.java:[52,15] error: cannot access Versioned 

    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:656) 
    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 20 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
+1

हम्म, क्या आपको इसके बजाय [कोई समस्या नहीं खोलनी चाहिए] (https://github.com/FasterXML/jackson-databind/issues)? – fge

+0

@fge, मुझे यकीन नहीं है कि यह जैक्सन मुद्दा है या कुछ अन्य वास्तविक मुद्दा है जो मुझे पता नहीं है। समस्या – Reddy

+0

उठाए जाने से पहले जानना बेहतर है, ठीक है, मेरे लिए यह निश्चित रूप से एक बग की तरह लगता है। जैसा कि आप कहते हैं, कोई कारण नहीं है कि जेडीके अपडेट करने से आपका कोड असफल हो जाएगा। लेकिन यह आपका निर्णय है, बेशक;) – fge

उत्तर

1

ऐसा लगता है कि आप बहुत पुरानी जैक्सन संस्करणों का मिश्रण का उपयोग कर रहे मुझे लगता है कि जावा 8 क्रम में मेवेन कंपाइलर प्लगइन द्वारा उपयोग की जाने वाली .jar फाइलों में जावा 7 में अलग-अलग हो सकते हैं, इसलिए Versioned इंटरफ़ेस नहीं मिल सकता है। यह जावा 8 में से एक मुद्दा हो सकता है जब जावा कंपाइलर को संकलन करते समय क्लासपाथ में इंटरफ़ेस मौजूद होना आवश्यक है कार्यान्वयन (JDK-8055048)

Versioned इंटरफ़ेस 1.6.0 में पेश किया गया था जबकि आपके पास org.codehaus.jackson:jackson-core-asl संस्करण 1.1.0 है। यह शायद समस्या का मूल कारण है।

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-asl</artifactId> 
    <version>1.9.2</version> 
</dependency> 

एक दीर्घकालिक समाधान मैं करने के लिए सुझाव के रूप में:

एक कम जोखिम ठीक .pom फ़ाइल में निम्न निर्भरता जोड़कर अन्य पुस्तकालयों पत्र व्यवहार करने के 1.9.2 के लिए org.codehaus.jackson:jackson-core-asl संस्करण टक्कर करने के लिए हो सकता है जैक्सन संस्करण को नवीनतम 2.X (में पैक किया गया) में अपनी सभी परियोजनाओं में बंपिंग पर विचार करें और संस्करण 1.X का उपयोग करना बंद करें (org.codehaus.jackson में पैक किया गया)।

+0

गैविरोल्व, मुझे बताएं कि मैं इसे हल करने में आपकी सहायता कैसे कर सकता हूं।यह बहुत बड़ी परियोजना है और -एक्स बहुत सारे लॉग प्रिंट करता है। आप जो भी विशिष्ट खोज रहे हैं? हालांकि मुझे समझ में नहीं आया कि जावा संस्करण को बदलने से इस मुद्दे का कारण बन सकता है? यह एक और परियोजना में भी हो रहा है। वही त्रुटि जहां हम 'mapper.writeValueAsString (प्रविष्टि) का उपयोग कर रहे हैं;' – Reddy

+0

@Reddy मैंने अपना जवाब अपडेट कर दिया है। चलो देखते हैं कि यह मदद करता है या नहीं। –

संबंधित मुद्दे