現在Google App Engineにてtwitter4jのAPIを使用してtwitterのトレンドを取得して表示するjspの画面作成をやっています。
そこで以下のエラーが取れずに、サーバーエラーとなるため困っています。

◆エラー内容
-------------------------------------------------------------
java.lang.IncompatibleClassChangeError: Expected static method twitter4j.http.BASE64Encoder.encode([B)Ljava/lang/String;
at twitter4j.http.BasicAuthorization.encodeBasicAuthenticationString(BasicAuthorization.java:59)
at twitter4j.http.BasicAuthorization.<init>(BasicAuthorization.java:50)
at twitter4j.TwitterFactory.getInstance(TwitterFactory.java:87)
at com.twitter.Turuter.getTwitterTrends(TestTwitter.java:110)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:72)
・・・
-------------------------------------------------------------

◆TestTwitter.java:110
-------------------------------------------------------------
public List<String> getTwitterTrends(){

boolean isExcludeHashTags = true;

TwitterFactory tf = new TwitterFactory();
Twitter twitter = tf.getInstance(id, pwd); 【Line:110】
-------------------------------------------------------------

環境は以下の通りです。
Eclipse:3.4.2
JDK:1.6.0_20
AppEngine SDK:1.3.3.1
GWT SDK:2.0.3
twitter4j:2.1.3

「java.lang.IncompatibleClassChangeError」はコンパイラのバージョンが異なるメソッドの呼び出しなどで出てしまう様ですが、twitter4jのMANIFESTでは「Build-Jdk: 1.6.0_17」と書かれています。SDKのバージョンは上記環境のバージョンと「1.6.0_20」を試しましたが、どちらも同様のエラーでした。

どなたか解決方法をご教授頂けないでしょうか。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

twitter4j.http.BASE64Encoderというクラスはどこにあるのかなぁ?


2.1.3でなく、安定版の2.1.2を使ってみたら?
あるいは、twitter4jのフォーラムやMLなどで質問してみるとか。
(Twitter APIなんて、私の日常にはない世界なので、抽象的にしかお答えできません。)

この回答への補足

回答ありがとうございます。

twitter4j.http.BASE64Encoderクラスは
twitter4j.internal.http.BASE64Encoderにあるようです
internalってのを挟んでるのでのが分からないのですが。

twitter4jのバージョンは2.1.2と2.1.0も使ってみました。
2.1.2では同様のエラーが発生しました。
2.1.0は「java.lang.NoSuchMethodError: twitter4j.TwitterFactory.getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;」となりました。

もう少しこちらでどなたか回答頂けないか待ってみることにします。
それでも解決しない場合にはそちらを利用してみようと思います。

補足日時:2010/05/24 22:04
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMAO阻害薬

MAO阻害薬って何でしょうか?
レキソタンやデパスなど抗不安剤も
MAO阻害薬と呼ばれるものですか?

Aベストアンサー

こんにちは

MAO(モノアミンオキシターぜ)とは
簡単に言えばノルエピネフリン(ノルアドレナリン)やセロトニン、ドパミンなどの体の機能(例えば、血圧を上げたりする物質)を調節する物質が代謝(効力がなくなる)されるときに必要な酵素です。
なのでその酵素を阻害するので、その物質の効力が長く、また強く続くようになります。
そのため病気などでノルアドレナリンが不足し、体が思おうように動かなくなる病気(例えばパーキンソン病など)の改善に使うお薬です。


レキソタンやデパスMAO阻害薬ではなく、違う作用により不安などを取り除くお薬です。
ヤフーなどで薬の名前で検索にかければ、詳しくのっているので自分で調べてみて下さい。

少し専門的な薬物(物質)を出してしまい混乱してしまったら、ごめんさい

参考URL:http://www.naoru.com/mao-i.htm

QJ2SDK1_4_2_08(Runtimeなし)+JRE1_5_0_02の組合せで問題なし?

Java 2 SDK Ver1.4.2_08(j2sdk-1_4_2_08-windows-i586-p.exe)をダウンロードし、インストールしたところ、しばらくするとランタイムのアップデートの通知が来ました。
そのランタイムをインストールしてみると、J2SE Runtime Environment 5.0 Update 2がインストールされました。

コントロールパネルより、「プログラムの追加と削除」を実行してみたところ、ランタイムにかなりの容量が使用されているので、Java 2 SDK Ver1.4.2_08に入っていた方のランタイム「Java 2 Runtime Environment, SE v1.4.2_08」を削除しようと思っています。

しかし、Javaのコンパイルや動作に影響が出ると困るかななんて思っています。「J2SE Runtime Environment 5.0 Update 2」がインストールされていれば「Java 2 Runtime Environment, SE v1.4.2_08」は削除しても問題ないんでしょうか?

それとも両方ともランタイムを入れておくべきなのでしょうか?

よろしくお願いします。

Java 2 SDK Ver1.4.2_08(j2sdk-1_4_2_08-windows-i586-p.exe)をダウンロードし、インストールしたところ、しばらくするとランタイムのアップデートの通知が来ました。
そのランタイムをインストールしてみると、J2SE Runtime Environment 5.0 Update 2がインストールされました。

コントロールパネルより、「プログラムの追加と削除」を実行してみたところ、ランタイムにかなりの容量が使用されているので、Java 2 SDK Ver1.4.2_08に入っていた方のランタイム「Java 2 Runtime Environment, SE v1.4.2_08」を...続きを読む

Aベストアンサー

こんにちは。

基本的に問題ないと思います。
私の場合も1.4.2のSDKとRuntimeを同時にインストールし(任意のフォルダに)、
RuntimeのUPDATEの時に、同フォルダに上書きしました。
問題なく動作してます。
CドライブのProgramFiles以下にコピーされているものは書き換わりませんが、フォルダごと削除しました。
その代わり、環境変数はちゃんと確認しないとダメですが・・・。
コマンドプロンプトでJAVAのバージョンを確認した時に、ちゃんと認識されていれば問題ありませんよ。
(^^ゞ

Q薬理学(MAO阻害薬)について

MAO阻害薬の副作用で低血糖の可能性ありと書いてありますが、その機序をしりませんか?
よろしくお願いいたします。

Aベストアンサー

こんにちは。昔々習ったような気がします。うろ覚えですが多分こんな風では?

まずアルコールを急速大量摂取すると肝グリコーゲン生成を抑制します。そうなると肝臓での糖新生が妨害されます。一方でMAO阻害剤は非特異的な酵素阻害剤でアルコール代謝を抑制しますので、アルコールとMAO阻害薬を一緒に飲むと血中アルコール濃度は通常より高くなります。上記の二つのメカニズムを掛け合わせて、MAO阻害剤を服用時にアルコールを摂取するとグリコーゲン生成が低下→結果として低血糖になるという話ではなかったでしょうか?
だから、低血糖の「可能性あり」だったかと思います。

お役に立てば幸いです。

Qjava.lang.ClassNotFoundException: com.mysql.jdbc.Driverと出てしまいます。

ご質問させてください。
まずは環境は、

・Windows Vista Home Premium
・j2sdk1.4.2_16
・mysql-connector-java-5.1.5
・Mysql 5.0
・Tomcat 5.5
・eclipse-SDK-3.1.2-win32

となっております。

次に、環境変数を
http://www.hellohiro.com/jdbcmysql.htm
http://www.hellohiro.com/appli.htm
を参考に、
CLASSPASS:.;%JAVA_HOME%\lib\tools.jar;
C:\mysql\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\mysql-connector-java-5.1.5-bin.jar;.
JAVA_HOME:C:\j2sdk1.4.2_16
PATH:%JAVA_HOME%\bin
と設定しました。

そして以下のプログラムを実行すると
import java.sql.*;
public class test
{
public static void main(String args[])
{
try{
//接続の準備
String drv = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql:///cardb";
String usr = "root";
String pw = "Gob3=104";

//データベースへの接続
Class.forName(drv);
Connection cn = DriverManager.getConnection(url, usr, pw);

//問い合わせの準備
Statement st = cn.createStatement();
String qry = "SELECT * FROM car_table";

//問い合わせ
ResultSet rs = st.executeQuery(qry);

//データの取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();

while(rs.next()){
for(int i=1; i<=cnum; i++){
System.out.print(rm.getColumnName(i) + ":"+ rs.getObject(i) + " ");
}
System.out.println("");
}

//接続のクローズ
rs.close();
st.close();
cn.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}

エラーが、

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at test.main(test.java:15)

とでてしまいます。

EclipsでMySQLを用いて、データベースにアクセスするにはどうしたらよいのでしょうか。
お知恵をお貸しください。

ご質問させてください。
まずは環境は、

・Windows Vista Home Premium
・j2sdk1.4.2_16
・mysql-connector-java-5.1.5
・Mysql 5.0
・Tomcat 5.5
・eclipse-SDK-3.1.2-win32

となっております。

次に、環境変数を
http://www.hellohiro.com/jdbcmysql.htm
http://www.hellohiro.com/appli.htm
を参考に、
CLASSPASS:.;%JAVA_HOME%\lib\tools.jar;
C:\mysql\mysql-connector-java-5.1.5\mysql-connector-java-5.1.5-bin.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\comm...続きを読む

Aベストアンサー

エラーの内容を拝見する限り、mysql-connector-java-5.1.5を認識していないように見受けられます。
Eclipseのビルドパスのライブラリへの取り込みは正しくおこなわれていれば、デバッグの際のエラーは出なくなると思いますのでご確認ください。

Q訳してください!↓↓ It is said that he helped make Mao's po

訳してください!↓↓
It is said that he helped make Mao's policies less extreme during the Cultural Revolution.

Aベストアンサー

彼は文化革命の間、普通に、毛沢東を援助していたらしい。

Qjava.lang.outofmemoryerror java heap space

java のクラスファイルをjarにして、実行する時、大きいなファイルを読むと、java.lang.outofmemoryerror java heap spaceのエラーが出できます。
どう解決すればいいですか。

Aベストアンサー

多分、JVM に設定したメモリサイズの上限値を超えてしまったのだと思われます。
Xms や Xmx オプションなどをつけて実行してみたらどうでしょう。

以下のサイトなどを参考にしてみて下さい。

参考URL:http://www.intra-mart.jp/download/doc/OutOfMemoryError.html

QTwitterの面白さを教えてください。

Twitterの面白さを教えてください。
Twitterがこんなに話題になる前からTwitterのアカウントを取り、それなりに使っていますが未だにTwitterの面白さがわかりません。
Twitterを愛用している方、Twitterの何が面白いかを教えてください!
また、Twitterの有効利用の方法なども併せて教えて頂ければ幸いです。

Aベストアンサー

ツイッターは匿名性、手軽性もあって、現実では見られない人間の本能的な振る舞いを見ることができる点です。
前のなでしこtwitter事件でもあったようにツイッターは「馬鹿発見器」です。

私はとりあえず興味が近い人をフォローしまくってその人の性格を読んで飽きたらブロック、の繰り返しですかね。
特にリプは送っていません。また、自分の言いたいことは言うだけのツールとして使っています。

とりあえずツイッターで色々な機能を使ってみて。面白くなければツイッター以外の事も試してみてはいかがでしょうか?

QException:java.lang.NullPointerException って?

WinXPproを家族で使用しています。
制限ユーザーの娘が「お絵かき掲示板」を利用しようとすると
[Exception:java.lang.NullpointerException]とエラーメッセージが出て使えなくて困っていると言います。管理者権限の私のところで試しにやってみると、上記のエラーメッセージは出なく使えるんです。どうすれば、制限ユーザーも使えるようになるのでしょうか?

ちなみに、Javaのサイトから、最新版の
[J2SE v1.4.0_1]ダウンロード→インストールしてあります。

Aベストアンサー

よく分かりませんが、外してたら、ごめんなさい。

 環境変数設定で「システム環境変数」に設定してますか?管理者さんの「ユーザ環境変数」に環境設定をすると、他のユーザはJavaなど使えませんよ。

 インターネットエクスプローラのJavaに制限を設けているとか?それに関しては、過去ログにたくさんあります。参考URLでどうぞ。下のほうです。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=316419

Q現在Google App Engineにてtwitter4jのAPIを

現在Google App Engineにてtwitter4jのAPIを使用してtwitterのトレンドを取得して表示するjspの画面作成をやっています。
そこで以下のエラーが取れずに、サーバーエラーとなるため困っています。

◆エラー内容
-------------------------------------------------------------
java.lang.IncompatibleClassChangeError: Expected static method twitter4j.http.BASE64Encoder.encode([B)Ljava/lang/String;
at twitter4j.http.BasicAuthorization.encodeBasicAuthenticationString(BasicAuthorization.java:59)
at twitter4j.http.BasicAuthorization.<init>(BasicAuthorization.java:50)
at twitter4j.TwitterFactory.getInstance(TwitterFactory.java:87)
at com.twitter.Turuter.getTwitterTrends(TestTwitter.java:110)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:72)
・・・
-------------------------------------------------------------

◆TestTwitter.java:110
-------------------------------------------------------------
public List<String> getTwitterTrends(){

boolean isExcludeHashTags = true;

TwitterFactory tf = new TwitterFactory();
Twitter twitter = tf.getInstance(id, pwd); 【Line:110】
-------------------------------------------------------------

環境は以下の通りです。
Eclipse:3.4.2
JDK:1.6.0_20
AppEngine SDK:1.3.3.1
GWT SDK:2.0.3
twitter4j:2.1.3

「java.lang.IncompatibleClassChangeError」はコンパイラのバージョンが異なるメソッドの呼び出しなどで出てしまう様ですが、twitter4jのMANIFESTでは「Build-Jdk: 1.6.0_17」と書かれています。SDKのバージョンは上記環境のバージョンと「1.6.0_20」を試しましたが、どちらも同様のエラーでした。

どなたか解決方法をご教授頂けないでしょうか。よろしくお願いします。

現在Google App Engineにてtwitter4jのAPIを使用してtwitterのトレンドを取得して表示するjspの画面作成をやっています。
そこで以下のエラーが取れずに、サーバーエラーとなるため困っています。

◆エラー内容
-------------------------------------------------------------
java.lang.IncompatibleClassChangeError: Expected static method twitter4j.http.BASE64Encoder.encode([B)Ljava/lang/String;
at twitter4j.http.BasicAuthorization.encodeBasicAuthenticationString(BasicAuthorization.java:59)
a...続きを読む

Aベストアンサー

twitter4j.http.BASE64Encoderというクラスはどこにあるのかなぁ?
2.1.3でなく、安定版の2.1.2を使ってみたら?
あるいは、twitter4jのフォーラムやMLなどで質問してみるとか。
(Twitter APIなんて、私の日常にはない世界なので、抽象的にしかお答えできません。)

QJava EE SDKとJava SDKについて

お世話になっております。
現在以下の環境でサーバサイドプログラミングをしております。

Eclipse Europa Version 3.3.2
J2SE SDK1.5.0_15
Apache Tomcat /5.5.26

この環境でも問題なくサーブレットやJSPの開発ができており、動作確認もできております。そこで気になったのが、Java EE SDKの存在です。構成内容を見てみるとSample?のようなものとそのほかにも色々入っているようですが、JavaSDKだけで開発ができている今、これらの存在が疑問です。

なんとなく、JSPのコードをコンテナがサーブレット形式にコンパイルする際にJDKが必要なのだということはわかったのですが、なぜにサーバサイドプログラミングであるのにJ2SE Software Development Kitで開発が行え、Java EE SDKが必要ないのでしょうか。

よろしくお願い致します。

Aベストアンサー

Java EEというのは、Java SEにサーバ関係のライブラリなどを追加したものです。ベースは、Java SEそのものです。Java EE SDKは、Java SE + Java EE用ライブラリ類 + 標準Java EE サーバ(確か今はGlassFish v2だったはず)、各種ドキュメントからなります。

なぜ、Java SEでサーバサイドの開発ができるか? 実は、ちゃんとJava EEのライブラリが入っているからです。どこに? それは、あなたが使っている「Javaサーバ」にです。例えば、Tomcatの場合、JSP/サーブレットのためのライブラリが組み込み済みになっています。他のJava EEサーバも、Java EEのライブラリがサーバ自身に追加されています。


人気Q&Aランキング

おすすめ情報