Sorry for bothering you all. It was simple. I forgot to copy those libs into WEB-INF/lib. I have only did Build-Path...
soichi On 5月27日, 午後3:31, soujiro0725 <soujiro0...@gmail.com> wrote: > hi I am trying to make a Twitter bot that produces titles of blog > entries. Since I am not good at Java, the problem might be in > understanding of Java itself. > > I keep getting an error message "java.lang.NoClassDefFoundError: com/ > google/gdata/util/ServiceException", and I have searched the web for > information. But all I found was the lack of libs, such as mail.jar , > google.collect...jar . I tried to include all possible libs, but no > change at all. > > Could anyone help me out? > > //---- servlet that produces > tweets------------------------------------------------- > public class Twitter_botServlet extends HttpServlet { > > private static final Logger log = > Logger.getLogger(Twitter_botServlet.class.getName()); > private String botname = "new_public_line"; > private String cachedtoken = "access_token"; > private String cachedsecret = "access_secret"; > > public void doGet(HttpServletRequest req, HttpServletResponse resp) > throws IOException { > resp.setContentType("text/plain"); > resp.setCharacterEncoding("utf-8"); > resp.getWriter().println("Hello, world"); > > log.info("info test"); > PersistenceManager pm = PMF.get().getPersistenceManager(); > Cache cache = null; > > try { > CacheFactory cacheFactory = > CacheManager.getInstance().getCacheFactory(); > cache = > cacheFactory.createCache(Collections.emptyMap()); > } catch (CacheException e) { > log.info(e.getMessage()); > } > > if((String)cache.get(cachedtoken) == null || > (String)cache.get(cachedsecret) == null){ > Query query = pm.newQuery(Token.class); > List<Token> tokens = (List<Token>)query.execute(); > > for(Token token:tokens){ > if(token !=null && > token.getBotName().equals(botname)){ > cache.put(cachedtoken, > token.getAccessToken()); > cache.put(cachedsecret, > token.getAccessSecret()); > } > } > pm.close(); > } > GenerateInputs(cache); > } > > private void GenerateInputs(Cache cache) { > Twitter twitter = new > TwitterFactory().getOAuthAuthorizedInstance(new > AccessToken((String)cache.get(cachedtoken), > (String)cache.get(cachedsecret))); > > String title = new > GetBlogEntriesServlet().ReturnInfo(); > try { > twitter.updateStatus(title); > } catch (TwitterException e) { > System.out.println(e.getMessage()); > } > }} > > //--- tweet servlet ends here ----- > > //--- servlet that gets a blog title----- > public class GetBlogEntriesServlet extends HttpServlet { > public String ReturnInfo() { > String blogId = "xxxxxxxxxxxx"; > String title = null; > try { > GoogleService myService = new GoogleService("blogger", > "twitter_bot"); > title = printAllPosts(myService, blogId); > } catch (ServiceException e) { > System.out.println(e.getMessage()); > } catch (IOException e) { > System.out.println(e.getMessage()); > } > > return title; > } > > private static String printAllPosts(GoogleService myService, > String blogId) throws ServiceException, IOException { > > final URL feedUrl = new URL("http://www.blogger.com/feeds/" + > blogId > + "/posts/default"); > Feed resultFeed = myService.getFeed(feedUrl, Feed.class); > > //define array that contains entry titles > String[] ArrayTitle; > ArrayTitle = new String[resultFeed.getEntries().size()]; > > System.out.println(resultFeed.getTitle().getPlainText()); > for (int i = 0; i < resultFeed.getEntries().size(); i++) { > Entry entry = resultFeed.getEntries().get(i); > ArrayTitle[i] = entry.getTitle().getPlainText(); > } > > //get one of blog titles using a random number > Random rnd = new Random(); > int ran = rnd.nextInt(resultFeed.getEntries().size()); > return ArrayTitle[ran]; > }} > > //------ code ends > here------------------------------------------------------ -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.