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;