GWT无法加载模块

GWT无法加载模块,gwt,module,compiler-errors,Gwt,Module,Compiler Errors,我是谷歌应用引擎的新手,我正在做一个项目。我刚刚创建了一个应用程序,当我尝试运行它时,它显示错误: [ERROR][ukstudentfeedback]未能从本地主机51937上的用户代理“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_7_2)AppleWebKit/535.2(KHTML,类似Gecko)Chrome/15.0.874.121 Safari/535.2”加载模块“ukstudentfeedback”。 下面是我的代码的快照: package com.

我是谷歌应用引擎的新手,我正在做一个项目。我刚刚创建了一个应用程序,当我尝试运行它时,它显示错误:

[ERROR][ukstudentfeedback]未能从本地主机51937上的用户代理“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_7_2)AppleWebKit/535.2(KHTML,类似Gecko)Chrome/15.0.874.121 Safari/535.2”加载模块“ukstudentfeedback”。

下面是我的代码的快照:

package com.ukstudentfeedback.client;

import java.io.UnsupportedEncodingException;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;

public class Ukstudentfeedback implements EntryPoint{


    // ...
    public void onModuleLoad()
    {
        java.lang.System.out.println("I finally worked!");
        final Button sendButton;
        final TextBox toField, fromField, subjectField, messageField;

        sendButton = new Button("Send");
        toField = new TextBox();
        fromField = new TextBox();
        subjectField = new TextBox();
        messageField = new TextBox();

        sendButton.addStyleName("sendButton");

        toField.setText("Testing");
     // Add the nameField and sendButton to the RootPanel
     // Use RootPanel.get() to get the entire body element
        RootPanel.get("sendButton").add(sendButton);
        RootPanel.get("To").add(toField);
        RootPanel.get("From").add(fromField);
        RootPanel.get("Subject").add(subjectField);
        RootPanel.get("Message").add(messageField);

        // Focus the cursor on the to field when the app loads
                toField.setFocus(true);
                toField.selectAll();

                sendButton.setEnabled(true);


    // Create a handler for the sendButton and nameField
    class MyHandler implements ClickHandler, KeyUpHandler {
                /**
                 * Fired when the user clicks on the sendButton.
                 */
                public void onClick(ClickEvent event) {
                    java.lang.System.out.println("I have been clisked");
                    sendMessage();
                }

                @Override
                public void onKeyUp(KeyUpEvent event) {
                    // TODO Auto-generated method stub

                }



            public void sendMessage()
            {
                Properties props = new Properties();
                Session session = Session.getDefaultInstance(props, null);
                /*
                 * Get all the user's inputs
                 */
                String to = toField.getText();
                String from = fromField.getText();
                String subject = subjectField.getText();
                String message = messageField.getText();

                try 
                {
                    Message msg = new MimeMessage(session);
                    msg.setFrom(new InternetAddress(from, "Admin"));
                    msg.addRecipient(Message.RecipientType.TO,
                                     new InternetAddress(to, "Mr. User"));
                    msg.setSubject(subject);
                    msg.setText(message);
                    Transport.send(msg);

                } 
                catch (AddressException e) 
                {
                    // ...
                } catch (MessagingException e) 
                {
                    // ...
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }

    }
    // Add a handler to send the name to the server
            MyHandler handler = new MyHandler();
            sendButton.addClickHandler(handler);
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='ukstudentfeedback'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>

  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
  <inherits name='com.google.gwt.user.theme.clean.Clean'/>
  <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->

  <!-- Other module inherits                                      -->
  <inherits name='com.ukstudentfeedback.Ukstudentfeedback'/>
  <!-- Specify the app entry point class.                         -->
  <entry-point class='com.ukstudentfeedback.client.Ukstudentfeedback'/>

  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>

</module>

您只能使用GWT模拟的类。未模拟包javax.mail。 您必须在服务器上执行此操作

    [ERROR] [ukstudentfeedback] - Line 8: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 9: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 10: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 11: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 12: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 13: The import javax.mail cannot be resolved
    [ERROR] [ukstudentfeedback] - Line 14: The import javax.mail cannot be resolved
请看下面的链接:


问题是您试图在客户端上使用未实现的java类。邮件需要从服务器发送,服务器永远不能从
javax.mail
类传回任何内容

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
所有这些都不是可序列化的,也不能转换为Javascript,因为它们都不是由GWT实现的。阅读更多关于此和

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;