2014-05-07 4 views
6

मैंने अपने नेटबीन्स 7.4 में इस कोड को आजमाया और यह बिना किसी समस्या के काम करता हैjava.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl को javax.net.ssl.HttpsURL कनेक्शन पर नहीं डाला जा सकता है

import java.io.IOException; 
import java.net.URL; 
import javax.net.ssl.HttpsURLConnection; 

public class JavaApplication148 { 
    public static void main(String[] args) throws IOException { 
     URL url = new URL("https://redmine.ackee.cz/time_entries.xml"); 
     HttpsURLConnection httpCon = (HttpsURLConnection) url.openConnection(); 
    } 
} 

हालांकि तो मैं इसे ग्रहण में मेरी Maven संचालित परियोजना में इस्तेमाल और इसे निम्नलिखित अपवाद फेंकता है:

java.lang.ClassCastException: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl 
cannot be cast to javax.net.ssl.HttpsURLConnection 

मेरी Maven परियोजना में इस पीछा कर रहा है वर्ग है कि एक त्रुटि

फेंकता

यही कारण है कि यह संकलन और NetBeans पर समस्या के बिना चलने के कारण है कि यह Maven-ग्रहण परियोजना पर अच्छी तरह से जाना नहीं है करता है मेरी pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>cz.ackee</groupId> 
    <artifactId>pan-unicorn-bot</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>Pan Unicorn Bot</name> 
    <description>Pan unicorn IRC Bot</description> 

    <repositories> 
    <repository> 
    <id>apache-snapshots</id> 
    <url>http://repository.apache.org/snapshots/</url> 
    </repository> 
    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.30</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.3.5.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-cli</artifactId> 
      <version>1.3-SNAPSHOT</version> 
     </dependency> 

     <dependency> 
      <groupId>com.taskadapter</groupId> 
      <artifactId>redmine-java-api</artifactId> 
      <version>1.23</version> 
     </dependency> 
    </dependencies> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <groupId>org.apache.maven.plugins</groupId> 
       <version>2.3</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
        <downloadSources>true</downloadSources> 
        <downloadJavadocs>true</downloadJavadocs> 
       </configuration> 
      </plugin> 

      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2.1</version> 
       <configuration> 
        <descriptors> 
         <descriptor>/src/main/assembly/binary.xml</descriptor> 
        </descriptors> 
       </configuration> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <archive> 
         <index>true</index> 
         <manifest> 
          <addClasspath>true</addClasspath> 
          <mainClass>cz.ackee.unicorn.PanUnicornMain</mainClass> 
         </manifest> 
         <manifestEntries> 
          <mode>development</mode> 
          <url>${project.url}</url> 
          <key>value</key> 
         </manifestEntries> 
        </archive> 
       </configuration> 

      </plugin> 
     </plugins> 
    </build> 

</project> 

किसी भी विचार है?

(मैं mvn package का उपयोग कर कमांड लाइन के माध्यम से संकलित, मैं इसे ग्रहण के माध्यम से चलाने)

+0

मुझे लगता है कि होगा वहाँ अपने classpath में एक फर्क है कि। –

+0

क्लासपाथ क्या वास्तव में? – libik

उत्तर

11

समाधान इस लाइन

URL url = new URL(null, "https://redmine.xxx.cz/time_entries.xml", new sun.net.www.protocol.https.Handler()); 
+0

मुझे नवीनतम लुना ग्रहण में एक ही अपवाद मिल रहा था। आपका समाधान मेरे लिए काम किया। – medloh

+3

कृपया इस समाधान का उपयोग न करें। यह एक विशिष्ट हैंडलर कार्यान्वयन का उपयोग करके एक समाधान है। यह संभावित रूप से आपके कोड को एक अलग जेआरई/जेडीके (विक्रेता और/या संस्करण) पर चलने से रोकता है। अधिक जानकारी यहां: https://community.oracle.com/thread/1535882 और https://community.oracle.com/thread/1150553 – Gunnar

3

के बजाय में इस लाइन

URL url = new URL("https://redmine.xxx.cz/time_entries.xml"); 

बदलने के लिए है:

एचटीटी psURLConnection httpCon = (HttpsURLConnection) url.open कनेक्शन();

उपयोग करें:

HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();

बस> यदि यूआरएल के साथ 'https'

if(url.startswith("https"){ HttpsURLConnection httpCon = (HttpsURLConnection) url.openConnection(); } 

उपयोग netty-3.9.2 शुरू होता है में "http रों URLConnection"

+0

धन्यवाद, यह समाधान मेरे लिए काम करता है। – Aditya

+0

आपका स्वागत है, @Aditya –

-1

यह कहा जाता है "रों" ड्रॉप। जब आप इस netty.jar का उपयोग करते हैं तो इस समस्या को हल करने के लिए जार । पोस्ट कॉल की प्रक्रिया बदल गई।

http://dl.bintray.com/netty/downloads/netty-3.9.12.Final.tar.bz2

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ अमान्य हो सकते हैं यदि लिंक किया गया पृष्ठ –

+0

बदलता है, जबकि यह लिंक प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाले पदों/18218599) – yivi

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

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