2013-04-05 16 views
5

Napisałem kod Java w adapterze w projekcie Worklight. gdy próbuję wywołać metodę java, pojawia się komunikat o błędzie z informacją, że wykonałem procedurę dokładnie opisaną w poniższym łączu, podając: Using Java in AdaptersBłąd Ecma: TypeError: Nie można wywołać właściwości

To jest moja struktura projektu. Czy coś jest nie tak z tą strukturą, czy powinienem dodać coś więcej?

enter image description here

ten sposób próbuję wywołać java non-statycznej metody w adaptera impl.js

function downloadFile() { 
    var fileInstance = new com.worklight.JavaCode.FileIOPlugin(); 
    return 
    { result: fileInstance.downloadFile(); }; 

}

Odpowiedz

6

Zidentyfikowaliśmy Innym możliwym rozwiązaniem do tego.

  • Zmień poziom kompilator Javy do 1,6, a także domyślne JRE do 1,6:

Compiler level JRE version

+0

Miałem podobny problem, odpowiedź @christianmenkens na [this se post] (http://stackoverflow.com/questions/16614742/ecma-typeerror-calling- java-class-from-worklight-adapter? rq = 1) rozwiązał mój problem –

+0

to zauważyłeś! musiałem też usunąć poprzednią "zniekształconą" aplikację z serwera i odbudować WAR –

0

upewnić się, że pakiet zaczyna com, np zmień nazwę na "com.classes".

+0

Witam, dzięki za odpowiedź. ale też tego próbowałem. Otrzymuję ten sam błąd. –

0

spróbuj dodać nawias podczas wystąpienia swój przedmiot:

var fileInstance = new com.worklight.JavaCode.FileIOPlugin() 
+0

Tak, też to zrobiłem .. bez zmian w błędzie .. –

0

Sprawdź plik .project i upewnić się, że ma prawo buildCommand tagi w nim.

<buildCommand> 
     <name>org.eclipse.jdt.core.javabuilder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
    <buildCommand> 
     <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
    <buildCommand> 
     <name>org.eclipse.wst.common.project.facet.core.builder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
    <buildCommand> 
     <name>com.worklight.studio.plugin.WorklightProjectBuilder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
    <buildCommand> 
     <name>org.eclipse.wst.validation.validationbuilder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 

Czytaj więcej na: ECMA TypeError calling Java class from Worklight adapter