どのように私は、コマンドラインからJavaファイルのシリアルバージョンUIDを生成していますか?

isakbob:

バックグラウンド

私は日食の私のJavaファイルのserialVersionUIDのを生成するが、で説明したエラーを取得しようとしていますシリアルバージョンIDを生成できません:Eclipseを私はその質問に方向性を踏襲しているが、私は何も見つからない、パスファイルを持っていないし、まだ同じエラーを取得します。また、私がしなければならない(一般的であるにも関わらず、ランダムに生成されたのserialVersionUIDを使用するだけで1Lを使用しても大丈夫、それは私のプロジェクトの要件であるため)。

問題

私の日食が非協力的であることされているので、私は、コマンドラインのソリューションをしようとしています。私が見つけたコマンド、serialverは、serialVersionUIDのを生成しません。よるとSerialVersionUIDを生成する方法を serialverをファイル内のserialVersionUIDを生成する必要があります。

  1. serialverコマンド

JDKには、自動的にserialVersionUIDのを生成するために、「serialver」というコマンドでビルドされています。この例では、AddressクラスのserialVersionUIDを生成するために、「serialver」を使用します。

 E:\workspace\target\classes>serialver Address Address:    static final
    long serialVersionUID = -687991492884005033L;

しかし、私はクラスのディレクトリ内の私のクラスの一つに、このコマンドを実行した端末は、このエラーを返しました:

Class Classname.java not found.

私はで入力した場合、このエラーは関係なく、与えられたserialver Classnameserialver Classname.javaの端末に。私はまた、ファイルと同じディレクトリにそれを実行し、エラーが持続しました。

質問

どのように私は使用しないserialverJavaファイルのserialVersionUIDを設定するために、Linuxのコマンドラインに?場合はserialver、私が使用する必要があり、コマンド、コマンド(または一連のコマンド)適切な方法ではありませんでしょうか?

明確化

私は自分のファイルに生成され、割り当てられたserialVerionUIDを持つようにしたいコマンドラインから、のため、プログラム的なアプローチのJavaでプログラムのserialVersionUIDを生成する方法を?私が探していますものではありません。言い換えれば、私は私のファイルの先頭にコードのこのビットを生成するコマンドをしたいです:

private static final long serialVersionUID = <some random long>;
Coderino Javarino:

あなたは指定する必要があり-classpath、コンパイル済みのクラス(例えばを含むディレクトリのためbin)。クラスを参照するには、パッケージを含め、その完全修飾名を使用する必要があります-例えばのArrayListクラス

serialver -classpath bin java.util.ArrayList

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=235631&siteId=1