如何从命令行生成Java文件的串行版本UID? 背景
我试图在eclipse中生成java文件的serialVersionUID,但出现了中描述的错误。我已经按照这个问题中的说明进行了操作,但是我没有丢失路径文件,仍然会遇到相同的错误。此外,我必须使用随机生成的serialVersionUID(尽管通常是这样),因为这是我的项目的一个要求 问题 由于我的eclipse不合作,我正在尝试一种命令行解决方案。我找到的命令没有生成serialVersionUID。根据serialver,应在文件中生成serialVersionUID:如何从命令行生成Java文件的串行版本UID? 背景,java,linux,serialversionuid,Java,Linux,Serialversionuid,我试图在eclipse中生成java文件的serialVersionUID,但出现了中描述的错误。我已经按照这个问题中的说明进行了操作,但是我没有丢失路径文件,仍然会遇到相同的错误。此外,我必须使用随机生成的serialVersionUID(尽管通常是这样),因为这是我的项目的一个要求 问题 由于我的eclipse不合作,我正在尝试一种命令行解决方案。我找到的命令没有生成serialVersionUID。根据serialver,应在文件中生成serialVersionUID: serialver
E:\workspace\target\classes>serialver Address Address: static final
long serialVersionUID = -687991492884005033L;
但是,我在类目录中的一个类上运行了此命令,终端返回了以下错误:
Class Classname.java not found.
无论我是在终端中键入serialver Classname
还是serialver Classname.java
,都会出现此错误。我也在与文件相同的目录下运行了它,错误依然存在
问题:
如何在Linux命令行中使用serialver
,设置Java文件的serialVersionUID?如果serialver
不是我应该使用的命令,那么哪个命令(或一系列命令)是正确的方法
澄清
我希望在我的文件中从命令行生成并分配SerialVerionID,因此的编程方法不是我想要的。换句话说,我希望命令在文件顶部生成以下代码:
private static final long serialVersionUID = <some random long>;
private static final long serialVersionUID=;
您需要在包含已编译.class文件的目录中运行serialver
,并指定不带扩展名的类名(classname,而不是classname.java)。您可能需要为包含已编译类的目录指定-classpath
(例如bin
)。要引用一个类,必须使用它的完全限定名,包括包——例如arraylist类
serialver -classpath bin java.util.ArrayList
如何生成链接非常有用,特别是对于Intellij IDEA方法。我想我应该为遇到这个问题但不想使用命令行方法的其他人提一下。