Я создаю приложение простой твиттера с GWT + twitter4j. Но я не могу запустить это или скомпилировать его.GWT Невозможно скомпилировать проект
Здесь коды и, пожалуйста, скажите мне, что с этим не так.
package in.isuru.twitter.server;
import java.util.ArrayList;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
public class Twit extends RemoteServiceServlet{
ArrayList<Tweet> tweets = new ArrayList<Tweet>();
//ArrayList<String> status = new ArrayList<String>();
public ArrayList<Tweet> search(String searchTerm){
// The factory instance is re-useable and thread safe.
Twitter twitter = new TwitterFactory().getInstance();
Query query = new Query(searchTerm);
QueryResult result = null;
try {
result = twitter.search(query);
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (Tweet tweet : result.getTweets()) {
//System.out.println(tweet.getFromUser() + ":" + tweet.getText());
tweets.add(tweet);
}
return tweets;
}
}
и на стороне клиента,
package in.isuru.twitter.client;
import java.util.ArrayList;
import twitter4j.Tweet;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.RootPanel;
import in.isuru.twitter.server.*;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class Twitter implements EntryPoint {
Twit twit = new Twit();
ArrayList<Tweet> allStatus;
public void onModuleLoad() {
// Create a Flex Table
final FlexTable flexTable = new FlexTable();
FlexCellFormatter cellFormatter = flexTable.getFlexCellFormatter();
flexTable.addStyleName("cw-FlexTable");
flexTable.setWidth("32em");
flexTable.setCellSpacing(5);
flexTable.setCellPadding(3);
// Add some text
cellFormatter.setHorizontalAlignment(0, 1, HasHorizontalAlignment.ALIGN_LEFT);
cellFormatter.setColSpan(0, 0, 2);
//search in twitter
allStatus = twit.search("sex");
for (int i=0 ; i <allStatus.size() ; i++) {
//System.out.println(tweet.getFromUser() + ":" + tweet.getText());
Tweet tweet = allStatus.get(i);
String user = tweet.getFromUser();
String status = tweet.getText();
addRow(flexTable, user);
addRow(flexTable, status);
}
// Add two rows to start
// addRow(flexTable, "This is testing status update");
// addRow(flexTable, "This is testing status update");
// Return the panel
flexTable.ensureDebugId("cwFlexTable");
RootPanel.get().add(flexTable);
}
/**
* Add a row to the flex table.
*/
private void addRow(FlexTable flexTable, String status) {
int numRows = flexTable.getRowCount();
flexTable.setText(numRows, 0, status);
flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows + 1);
}
/**
* Remove a row from the flex table.
*/
private void removeRow(FlexTable flexTable) {
int numRows = flexTable.getRowCount();
if (numRows > 1) {
flexTable.removeRow(numRows - 1);
flexTable.getFlexCellFormatter().setRowSpan(0, 1, numRows - 1);
}
}
}
А вот код ошибки, который я получаю, когда я скомпилировать его.
Компиляционный модуль in.isuru.twitter.Twitter Проверка вновь скомпилированных единиц Игнорируется 1 единица с ошибками компиляции в первый проход. Скомпилируйте с -strict или с -logLevel, установленным в TRACE или DEBUG, чтобы увидеть все ошибки. Поиск классов точек входа [ERROR] Ошибки в файле:/E: /workspace/Twitter/src/in/isuru/twitter/client/Twitter.java ' [ОШИБКА] Строка 20: Исходный код не доступен для типа in.isuru.twitter.server.Twit; вы забыли унаследовать необходимый модуль? [ОШИБКА] Строка 21: нет исходного кода для типа twitter4j.Tweet; вы забыли унаследовать необходимый модуль? [ERROR] Невозможно найти тип 'in.isuru.twitter.client.Twitter' [ERROR] Подсказка: предыдущие ошибки компилятора, возможно, сделали этот тип недоступным [ERROR] Подсказка: проверьте цепочку наследования из вашего модуля; он не может наследовать необходимый модуль, или модуль не может правильно добавлять свои исходные записи пути
Заранее благодарим!
Ну, люди, использующие эту библиотеку, twitter4j с GWT. http://ililiililililii.blog.de/2010/08/21/gwt-gae-twitter-in-20-minutes-9217888/ – Isuru
@isurumadusanka в предоставленном учебнике весь код из twiter4j используется на стороне сервера. Ни один из кодов фактически не используется в клиентском коде приложения GWT (что невозможно, поскольку twitter4j является нормальной java-библиотекой) – jusio
ok! Благодаря! Я пробовал GWT RPC. Но все же это дает ошибку. – Isuru