• 締切済み

java1.4→1.5 up時に推奨されなくなった場合の解決法

javaの環境を1.4→1.5にしてソースをコンパイルしたら 警告: [deprecation] XXX(クラス名) の YYY(メソッド名)()は推奨されません。 と出ます。エラーではないのでしょうが、 推奨されなくなった場合の解決法がわかりません。 ドキュメントなどを見てもわかりませんでした。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

推奨されないメソッドは、ドキュメントでだいたいこのメソッドを使えというようなことが書いてあると思いますが、 何のクラスのどのメソッドなのでしょうか?

taukun
質問者

お礼

普通そうなんですよね。ただ探しても見つからなくて。 今回だけではなく推奨されなくなった場合の”根本的な解決方法”みたいなのがあれば知りたいなっていう質問だったんですが、説明不足でしたね。 ちなみに今回は org.apache.lucene.queryParserのFastCharStream.javaにあるgetColumn()/getLine()メソッドです。これはorg.apache.lucene.queryParserのCharStreamをimplementsしてるんですが、上記メソッドの使用すべきでないメソッドをオーバーライドしますってでます。これをコメントアウトしたり名前変更とかしてもその後がかなり大変になるのでそれは避けたく、またdeprecationのチェックをはずすのもどうかと。警告レベルだからって無視するのもどうかと思います。 回答、ありがとうございました。

taukun
質問者

補足

ちなみにソース内にあるコメントに /** * Returns the column position of the character last read. * @deprecated * @see #getEndColumn */ ってあってこのgetEndColumn()を変わりに使用してもまた同じように警告がでました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 推奨されないAPIの作り方

    お世話になります。 JavaAPIなどを見ていると推奨されないAPIというのがでてきます。 この推奨されないAPIというのは自分で作ることは可能なのでしょうか? JavaDocで@deprecation とつけると確かにJavaDocには反映されるのですが、 別にそのメソッドを呼んでコンパイルしても警告もなにもでないです。 以上よろしくお願いいたします。

    • ベストアンサー
    • Java
  • クラス宣言とアクセス制御

    お世話になります。 独学でJavaの学習を始めました。 (仕事で必要になったためです) Java のソースファイル名は、main メソッドを宣言するクラスの クラス名と一致させなければならないようですが、これは そのクラスを public をつけて宣言したときに限るのでしょうか? 以下のソースを「hello.java」という名前で保存し、コンパイルすると エラーが出ますが、「public」を削除して再びコンパイルすると、 コンパイルが通り、「test.class」が生成されます。 ********** public class test { public static void main (String args[]) { System.out.println("Hello World"); } } ********** 同一パッケージ外からクラスを参照する場合、クラス名とソースファイル名を 一致させてあげないとクラスを見つけられない、ということなのでしょうか? とんちんかんな認識でしたら申し訳ありませんが、 ご教授頂ける方、宜しくお願い致します。 また、実際に Java を使って開発されている方にお伺いしたいのですが、 現場では main メソッドを宣言するクラスのクラス名と、ソースファイルの ファイル名を一致させる、ということは常識というか、暗黙の了解みたいな ものなのでしょうか? (もちろんプロジェクト毎のコーディング規約によると思うのですが…)

    • ベストアンサー
    • Java
  • -deprecationとは?

    ファイルをコンパイルしたところ、以下のメッセージが出ました。 「ListSample.java は推奨されない API を使用またはオーバーライドしています。 詳細については、-deprecation オプションを指定して再コンパイルしてください」 詳細を知りたいのですが、-deprecationというオプションはどうやって指定するのでしょうか?教えてください。

    • ベストアンサー
    • Java
  • Javaの実行時エラーの解決法

    今、Struts+MySql+TomcatでWEBアプリを作成している初心者です。 現在実行時エラーをどうしても解決できず、困り果てています。 ログインのjspから、ログイン情報はFormにセットされているのですが、FormからActionに遷移するまでにどうやらエラーがおきているようです。 ただし、これも不明確で、Eclipseでデバックを行うと、「(クラス名) 行: 805 のソースが見つかりませんでした。」というメッセージが出ている状況です。(ただ、変数を見ると値がきちんとセットされているのは確認できています) エラーは以下のものです。 javax.servlet.ServletException: サーブレットの実行により例外を投げました at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:222) [中略] 【root case】 java.lang.NoClassDefFoundError: org/aspectj/lang/Signature at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) ・ ・ ・ エラーを調べてみても、良い解決法が見つかりませんでした。 どなたかご存知の方がいらっしゃれば、ぜひご教授下さい。

    • ベストアンサー
    • Java
  • コンパイルができないのですが・・・

    JAVA初心者です!!コンパイルをしようと思うのですが、今までできたのに突然コンパイルエラーが起きました。わかる方いましたら教えていただけないでしょうか? メッセージは以下のとおりです。 注:MyFrame.javaは推奨されないAPIを使用またはオーバーライドしています。 注:詳細については、-Xlint:deprecation オプションを指定して再コンパイルしてください。

    • ベストアンサー
    • Java
  • [JAVA]エラーが解決できません。

    JAVAのエラーが解決できません。 ?,[,],(,)をreplaceAllを用いて置換したいと下記のようなプログラムを書いたのですが正常に動作しません。 また、Unicodeに置き換えても見たのですが、うまく動作しませんでした。 そして、排出されたエラーは下記の通りです。 文中にある、?などの記号を置換したいのですが何か良い方法は無いでしょうか? 何卒、ご教授、宜しくお願い致します。 テストコード>>> class Test { public static void main(String args[]) { System.out.println(args[0].replaceAll("?", "置換?")); System.out.println(args[0].replaceAll("[", "置換[")); System.out.println(args[0].replaceAll("(", "置換(")); } } エラー>>> Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 ? ^ at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.sequence(Unknown Source) at java.util.regex.Pattern.expr(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.<init>(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.lang.String.replaceAll(Unknown Source) at Test.main(Test.java:9)

    • ベストアンサー
    • Java
  • functionに括弧を使用するとエラー

    Parse error: parse error, expecting `')'' in C:\XXX.php on line XX というエラーが発生します。 クラスのfunctionの引数に他のクラスを呼び出すとエラーになります。 class XXX { function XXX_XXX( $dmy = YYY:YYY_YYY() )  //ここがエラー発生行 { ・・・・・ } } class YYY { function YYY_YYY() { return 1; } } この方法は無理でしょうか? どうにかクラスを呼び出す方法が御座いましたらご教授願います。

    • ベストアンサー
    • PHP
  • DoJaのiappliTool

    iappliToolでプロジェクトを作ると*.javaが1つだけ作られました。 *.javaをjavacでコンパイルすると a.java:34: シンボルを解決できません。 シンボル: メソッド setTitle (java.lang.String) 場所 : MainPanel の クラス setTitle("Start IApplication"); このようなエラーですが、iappliToolでビルドボタンを押すとコンパイルが 成功しました。 iappliToolでやっているコンパイルの部分をjavacでやりたいのですが どうやったらよいですか?

  • Javaにおけるメソッド名・ライン数取得に関して

    Javaの実行コンソールにて、メソッド名・ソースのライン数を出力させたいと思ってます。 C言語でいう、__func__や、__LINE__のように、 下記のように、System.out.println()内に埋め込み、それを出力させたいのです。(下記では、不明箇所をxxxとさせて頂いております。) <ソース-TestClass.java-> public void main(){ Test(); return; } private static void Test(){ System.out.println("メソッド名["+xxx+"] ライン["+ xxx +"]"); return; } <実行ターム> > java TestClass > メソッド名[Test] ライン[14] Javaではそういったメソッド名やライン数などの取得は困難なのでしょうか?または、そういったAPIは用意されておりますでしょうか? ご存じの方いらっしゃいましたら、ご教授お願い致します。

  • jarファイル内のクラスからjarファイル名の取得

    こんにちわ!yukimura1024です。 ちょっとわかりにくいタイトルかもですが質問です(^^; ○前提条件 1.コマンドプロンプトで以下のようにjarファイルを実行します。  java -jar xxx.jar xxx1 xxx2 2.xxx.jarのなかはx.class、y.class、z.class、と3つのクラスがあり、   x.classのmainメソッドが最初に呼び出されます。 ○質問 上記条件のとき、x.classのmainメソッド内で「xxx.jar」という文字列を取得したいのですが こんなことは可能でしょうか? なぜこんなことをしたいのかというと以下の理由からです。 1.xxx.jarのほかにyyy.jarというjarファイルも作成し、x.class、y.class、z.classを格納する。 2.yyy.jarも最初にx.classのmainメソッドが呼び出される。 3.x.classのmainメソッド内でxxx.jar、yyy.jarのどちらとして呼び出されたのか知りたい! ※2つのjarファイルに格納するx.class、y.class、z.classはまったく同じものです。 アドバイスいただける方いましたらお願いします。

    • ベストアンサー
    • Java