我最好从一开始就解释一下情况。我想更改.jar文件的分辨率,所以我用 Java 反编译器反编译它,然后我转到 Notepad++ 并做了一个小编辑,在 2 行中为 .java
文件:
paramGraphics.setClip(0, 0, 176, 208);
对此:
paramGraphics.setClip(0, 0, 320, 240);
和:
paramGraphics.setClip(0, 0, 176, 208);
对此:
paramGraphics.setClip(0, 0, 320, 240);
然后得救了。之后,我想将该文件编译为一个类。我尝试使用 javac 命令,不起作用并显示 100 个错误。它没有编译。十个使用 NetBeans。相同的结果,它没有编译。
这是 NetBeans 中的编译器输出:
ant -f "C:UsersUSERMis documentosNetBeansProjectsJavaApplication4" -Dnb.internal.action.name=rebuild clean jar
init:
deps-clean:
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4build
Updating property file: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildbuilt-clean.properties
Deleting directory C:UsersUSERMis documentosNetBeansProjectsJavaApplication4build
clean:
init:
deps-jar:
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4build
Updating property file: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildbuilt-jar.properties
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildclasses
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildempty
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildgenerated-sourcesap-source-output
Compiling 1 source file to C:UsersUSERMis documentosNetBeansProjectsJavaApplication4buildclasses
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:4: error: cannot find symbol
public Image jdField_int;
symbol: class Image
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:18: error: cannot find symbol
public a(InputStream paramInputStream)
symbol: class InputStream
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:61: error: cannot find symbol
public void jdField_if(Graphics paramGraphics)
symbol: class Graphics
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:70: error: cannot find symbol
public void a(Graphics paramGraphics)
symbol: class Graphics
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:47: error: cannot find symbol
this.jdField_int = Image.createImage(this.jdField_do, 0, this.jdField_do.length);
symbol: variable Image
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:76: error: cannot find symbol
int k = j + b.bD + this.jdField_new[this.jdField_else] + 16;
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:77: error: cannot find symbol
int m = i + b.bF + 16;
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:78: error: cannot find symbol
int n = i + b.bF + this.jdField_try[this.jdField_else] + 16;
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:79: error: cannot find symbol
int i1 = e.jdField_if(m, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:80: error: cannot find symbol
int i2 = e.jdField_if(n, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:83: error: cannot find symbol
i3 = e.jdField_if(n, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:85: error: cannot find symbol
i3 = e.jdField_if(m + 16, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:88: error: cannot find symbol
i4 = e.jdField_if(m, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:90: error: cannot find symbol
i4 = e.jdField_if(n - 16, k);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:91: error: cannot find symbol
int i5 = e.jdField_if(m, k - 16);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:92: error: cannot find symbol
int i6 = e.jdField_if(n, k - 16);
symbol: variable e
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:100: error: cannot find symbol
paramGraphics.setClip(i, j, this.jdField_try[this.jdField_else], this.jdField_new[this.jdField_else] - i7 - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF));
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:107: error: cannot find symbol
paramGraphics.setClip(i + 16 + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 32 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:107: error: cannot find symbol
paramGraphics.setClip(i + 16 + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 32 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:107: error: cannot find symbol
paramGraphics.setClip(i + 16 + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 32 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:107: error: cannot find symbol
paramGraphics.setClip(i + 16 + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 32 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:112: error: cannot find symbol
paramGraphics.setClip(i + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:112: error: cannot find symbol
paramGraphics.setClip(i + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:112: error: cannot find symbol
paramGraphics.setClip(i + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:112: error: cannot find symbol
paramGraphics.setClip(i + (16 - (i + b.bF & 0xF)), j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 + (i + b.bF & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:119: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:119: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:119: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - 16 - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:124: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:124: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4srcjavaapplication4a.java:124: error: cannot find symbol
paramGraphics.setClip(i, j + this.jdField_new[this.jdField_else] - (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) - i7, this.jdField_try[this.jdField_else] - (i + b.bF + this.jdField_try[this.jdField_else] & 0xF), (j + b.bD + this.jdField_new[this.jdField_else] & 0xF) + i7);
symbol: variable b
location: class a
31 errors
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4nbprojectbuild-impl.xml:920: The following error occurred while executing this line:
C:UsersUSERMis documentosNetBeansProjectsJavaApplication4nbprojectbuild-impl.xml:260: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 2 seconds)
如何将我的文件重新编译到类?我对Java了解不多,所以我是它的新手。谁能帮我?
提前致谢
更新!
这是现在的输出日志...
ant -f "C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5" -Dnb.internal.action.name=rebuild clean jar
init:
deps-clean:
Updating property file: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildbuilt-clean.properties
Deleting directory C:UsersUSERMis documentosNetBeansProjectsJavaApplication5build
clean:
init:
deps-jar:
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5build
Updating property file: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildbuilt-jar.properties
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildclasses
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildempty
Created dir: C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildgenerated-sourcesap-source-output
Compiling 8 source files to C:UsersUSERMis documentosNetBeansProjectsJavaApplication5buildclasses
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5srcjavaapplication5Dun.java:22: error: <identifier> expected
a.char = true;
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5srcjavaapplication5Dun.java:22: error: not a statement
a.char = true;
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5srcjavaapplication5Dun.java:22: error: illegal start of expression
a.char = true;
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5srcjavaapplication5Dun.java:22: error: ';' expected
a.char = true;
4 errors
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5nbprojectbuild-impl.xml:920: The following error occurred while executing this line:
C:UsersUSERMis documentosNetBeansProjectsJavaApplication5nbprojectbuild-impl.xml:260: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
我的朋友使用任何 IDE 编译您的代码,它都会向您显示错误,然后相应地添加该类所需的资源,然后尝试运行它。
你需要拥有作者用来编译原始类/jar X 的所有 jar Y.假设 jar X 是自给自足的(即它不依赖于像 Y 这样的外部 jar),那么您可以将原始 X 添加到类路径中,然后再次尝试编译修改后的类/jar X(包括您的更改)。但是现在几乎没有罐子是自给自足的,所以你可能没有太多的运气。你只需要知道作者在编译时使用的所有依赖项来生成jar X。