Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAR文件可以';我找不到课_Java_Jar - Fatal编程技术网

Java JAR文件可以';我找不到课

Java JAR文件可以';我找不到课,java,jar,Java,Jar,我有以下代码: package deerangle; 公共类重命名器实现org.jetbrains.java.decompiler.main.extern.iIdentifierRename{ 公共静态void main(字符串[]args){ System.out.println(“嘿”); } 公共长计数器=0; 公共布尔ToBerNamed(类型elementType、字符串类名、字符串元素、字符串描述符){ return!(elementType==Type.ELEMENT\u CLAS

我有以下代码:

package deerangle;
公共类重命名器实现org.jetbrains.java.decompiler.main.extern.iIdentifierRename{
公共静态void main(字符串[]args){
System.out.println(“嘿”);
}
公共长计数器=0;
公共布尔ToBerNamed(类型elementType、字符串类名、字符串元素、字符串描述符){
return!(elementType==Type.ELEMENT\u CLASS&&className.length()<4);
}
公共字符串getNextClassName(字符串全名、字符串短名){
返回“类”++计数器;
}
公共字符串getNextFieldName(字符串类名称、字符串字段、字符串描述符){
返回“字段”+类名+“C”+++计数器;
}
公共字符串getNextMethodName(字符串类名称、字符串方法、字符串描述符){
返回“方法”+类名+“C”+++计数器;
}
}
此文件名为
rename.java
,位于文件夹
deerangle

首先,我运行
javac deerangle/rename.java

然后运行
jar cvf Renamer.jar deerangle/Renamer.class

这将创建一个包含我的类文件的jar文件

当我现在运行
java-cp Renamer.jar deerangle.Renamer
时,它说:
错误:无法找到或加载主类deerangle.Renamer

我认为这并不重要,但下面是我在代码中实现的类:

//版权所有2000-2017 JetBrains s.r.o.此源代码的使用受Apache 2.0许可证的管辖,该许可证可在许可证文件中找到。
包org.jetbrains.java.decompiler.main.extern;
公共接口标识器重命名器{
枚举类型{ELEMENT_类,ELEMENT_字段,ELEMENT_方法}
布尔ToBerNamed(类型elementType、字符串类名、字符串元素、字符串描述符);
字符串getNextClassName(字符串全名、字符串短名);
字符串getNextFieldName(字符串类名称、字符串字段、字符串描述符);
字符串getNextMethodName(字符串类名称、字符串方法、字符串描述符);
}

为什么我会出错?我做错了什么?

如果我拿出您指定的
界面
并按照您的所有步骤操作,一切正常,它们会打印到我的控制台上。因此,我怀疑这与实现的
iIdentifierRename
接口有关,并且所有依赖项都是在编译时找到的,而不是在运行时找到的

一个选项是将所有依赖项打包到
jar
文件中,以便在运行时中可用

我建议您为此使用Maven-to-Gradle之类的构建工具

最近刚刚帮助了一个有类似问题的人,但他们已经“专业化”了他们的项目