2015-09-08 33 views
24

Ho scaricato Java Card Connected Edition 3.0.2 dal sito Web ufficiale di Oracle e l'ho installato. Ci sono alcuni web samples in JCDK. Nella documentazione scritta:Come eseguire gli esempi Web di Java Card Connected Edition su Eclipse?

Tutti i campioni devono essere eseguiti dall'IDE NetBeans. Non è possibile eseguire da la riga di comando in questa versione del kit di sviluppo.

Gli esempi funzionano correttamente con l'IDE NetBeans. Posso importarli ed eseguire su Java Card Platform.

Ma voglio utilizzare questo esempio su Eclipse IDE. In Eclipse come percorso dell'SDK di Java Card ho mostrato il percorso di casa di Java Card Connected. Quindi ha creato un nuovo dispositivo e ha provato ad avviarlo [CardHolderApp ad esempio]. Ma Eclipse dà:

ApduTool thread exited 
User input thread exited 
APDU|ApduTool [v3.0.2] 
APDU| Copyright (c) 2009 Sun Microsystems, Inc. 
APDU| All rights reserved. 
APDU| Use is subject to license terms. 
APDU|Opening connection to localhost on port 9025. 
APDU|Connected. 
APDU|java.net.ConnectException: Connection refused: connect 
ApduTool process finished with code: 1 

file di log:

!ENTRY org.eclipse.core.jobs 4 2 2015-09-08 01:39:17.142 
!MESSAGE An internal error occurred during: "Launching CardHolderApp". 
!STACK 0 
java.lang.RuntimeException: Cannot start device. Please see the log. 
    at com.oracle.javacard.jcdk.launch.runconfiguration.AppletRunConfigurationDelegate.launch(AppletRunConfigurationDelegate.java:79) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 

E 'possibile eseguire Java Card Connesso Web progetto in Eclipse?

UPDATE:

dispositivo ha iniziato con successo. Ma il progetto non è stato implementato. Fornisce "costante di tipo String non supportata" su ogni utilizzo di String. Esempio di codice:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
    response.setContentType("text/html"); // unsupported String type constant 
    PrintWriter out = response.getWriter(); 
    RequestDispatcher dispatcher = null; 
    dispatcher = request.getRequestDispatcher("/WEB-INF/header.i");//unsupported String type constant 
    response.sendRedirect(response.encodeRedirectURL("http://www.sun.com"));//unsupported String type constant 
    dispatcher.include(request, response); 
    dispatcher.include(request, response); 
} 

Classic Edition non supporta le stringhe. Ma deve funzionare su Connected Edition.

+0

Hai guardato http://eclipse-jcde.sourceforge.net EclipseJCDE? – M3SSYM4RV1N

+0

Per quanto ne so è per l'edizione classica. Non per servlet. – LEQADA

+1

Avete controllato [il plugin fornito da Oracle] (https://docs.oracle.com/javacard/3.0.5/guide/eclipse_java_card_plug-in.htm)? Dichiara anche "Classic Edition", ma ci proverei. – cheffe

risposta

1

Dimentica tutto il complicato software in mezzo. Basta guardare i messaggi di errore, sembra che la porta 9025 non è aperta o disponibile sul localhost:

APDU|Opening connection to localhost on port 9025. 
APDU|Connected. 
APDU|java.net.ConnectException: Connection refused: connect 
ApduTool process finished with code: 1 

Il testo [java.net.ConnectException: Connection refused: connect], ogni volta che vedo "Connessione rifiutata" significa che java ha provato a creare un socket sulla porta (9025 in questo caso) e non ha potuto ottenere il numero di porta a causa di un blocco (come un firewall) o non disponibile (qualcos'altro utilizza la porta 9025).

Su windows o * nix, in genere è possibile utilizzare il comando netstat per vedere quali porte vengono utilizzate.

hth, adym

+0

Non importa quale porta sto cercando di usare. Lo stesso errore. Come so Connected Edition Dev. Il kit funziona solo su Windows. Lo stesso codice funziona in modo chiaro su NetBeans e restituisce un errore su Eclipse anche quando il firewall è disattivato. – LEQADA

+0

Quindi, con Eclipse attivo e funzionante, cosa viene elencato dal comando netstat -a? Potrebbe aiutare a ripetere con NetBeans attivo e funzionante, quindi confrontare i due output netstat -a ... ovviamente, chiudere Eclipse prima di avviare NetBeans. – lincolnadym

+0

Qualcos'altro che ho notato nella traccia dello stack ... Lo stai eseguendo in una modalità di debug ... Vedo DebugUIPlugin?Perché un debugger sta per aprire una porta per consentire di passare attraverso il codice. Hai provato e basta usare una configurazione di esecuzione (nessun debugger)? – lincolnadym