GWT компилятор не находит библиотеки javax - PullRequest
2 голосов
/ 05 января 2012

Я новичок в GWT и пытаюсь запустить свое первое приложение GWT. У меня есть классы, которые используют API из пакета javax.persistence. Когда я пытаюсь скомпилировать код с использованием компилятора GWT, он не может найти упомянутый пакет в пути к классам. У меня есть библиотеки, добавленные в класс.

<property name="gwt.sdk" location="C:/gwt-2.4.0" />
<!-- Arguments to gwtc and devmode targets -->
<property name="gwt.args" value="" />
<path id="gwt.class.path">
    <fileset dir="${devLib}"> <!-- here is all the dependent libraries-->
        <include name="*.jar" />
    </fileset>
    <pathelement location="${gwt.sdk}/gwt-user.jar"/>
    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
</path>

<target name="gwtc" description="GWT compile to JavaScript (production mode)">
    <echo message="${gwt.class.path}"/>
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
        <classpath>
            <path refid="gwt.class.path"/>
            <pathelement location="gwt/project/src"/>
        </classpath>
        <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
        <jvmarg value="-Xmx256M"/>
        <arg line="-war"/>
        <arg value="web/five/gwtUI"/>
        <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
        <arg line="${gwt.args}"/>
        <arg value="org.scheduling.Scheduling"/>
    </java>
</target>

вот ошибка, которую я вижу при запуске ant target gwtc. Может ли кто-нибудь помочь мне исправить это?

[java] Compiling module org.scheduling.Scheduling
 [java]    Validating newly compiled units
 [java]       Ignored 91 units with compilation errors in first pass.
 [java] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
 [java]    Computing all possible rebind results for 'com.google.gwt.user.client.UserAgentAsserter'
 [java]       Rebinding com.google.gwt.user.client.UserAgentAsserter
 [java]          Checking rule <generate-with class='com.google.gwt.editor.rebind.SimpleBeanEditorDriverGenerator'/>
 [java]             [WARN] Detected warnings related to 'com.google.gwt.editor.client.SimpleBeanEditorDriver'.   Are validation-api-<version>.jar and validation-api-<version>-sources.jar on the classpath?
 [java]             Specify -logLevel DEBUG to see all errors.
 [java]             [WARN] Unknown type 'com.google.gwt.editor.client.SimpleBeanEditorDriver' specified in deferred binding rule
 [java]    Scanning for additional dependencies: file:/C:/Tolven_skandula/org.component.scheduling/gwt/project/src/org/scheduling/gwt/common/client/SchedulingEntryPoint.java
 [java]       Computing all possible rebind results for 'org.scheduling.common.service.SchedulingService'
 [java]          Rebinding org.scheduling.common.service.SchedulingService
 [java]             Checking rule <generate-with class='com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator'/>
 [java]                [ERROR] Errors in 'file:/C:/Tolven_skandula/org.component.scheduling/gwt/project/src/org/scheduling/common/model/Appointment.java'
 [java]                   [ERROR] Line 5: The import javax.persistence cannot be resolved
 [java]                   [ERROR] Line 6: The import javax.persistence cannot be resolved
 [java]                   [ERROR] Line 7: The import javax.persistence cannot be resolved
 [java]                   [ERROR] Line 8: The import javax.persistence cannot be resolved
 [java]                   [ERROR] Line 9: The import javax.persistence cannot be resolved

Ответы [ 4 ]

2 голосов
/ 05 января 2012

Взгляните на http://code.google.com/intl/de-DE/webtoolkit/doc/latest/RefJreEmulation.html,, который описывает классы из стандарта, который имитирует JRE GWT.Кажется, javax.persistence не поддерживается.

Это то, что с GWT.Поддерживается только небольшое подмножество стандартного JRE (учитывая тот факт, что JavaScript никогда не будет иметь такой же функциональности, как в среде браузера).Кроме того, хотя ребята из Google пытаются интегрировать все больше и больше классов, они работают очень быстро.

Но вы всегда можете создавать свои собственные классы и библиотеки.

0 голосов
/ 01 марта 2014

Я столкнулся с этой проблемой, используя GWT 2.6.0.Откат к GWT 2.5.1 решил это за меня.

Это довольно странное поведение, поскольку Java должна рассматривать аннотации как обязательные.Отсутствие источников должно приводить к игнорированию аннотаций, поэтому аннотации не становятся тесно связанными.

0 голосов
/ 07 января 2014

У меня была такая же проблема.Я скачал: javamail с: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.7-oth-JPR

и добавил: mailapi.jar в mu buildpath, и GWT обнаружил javax.mail. *.

Удачи;Anna

0 голосов
/ 06 января 2012

Ах, да, старая проблема: классы вашего домена, аннотированные JPA-аннотациями, не могут использоваться GWT.Вам, вероятно, нужно отправить эти объекты через RPC?

Люди уже давно решают эту проблему - Google вокруг:

GWT с JPA

GWT + юридические лица + JPA + DTO + Dozer

http://objectgeneration.com/eclipse/16-GWT.html

http://uptick.com.au/content/transferring-jpa-objects-server-browser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...