简体   繁体   English

java-如何使用Eclipse或NetBeans编译Java文件而不会出现错误?

[英]java - how to compile a java file with Eclipse or NetBeans without errors?

I better explain the situation from the start. 我最好从一开始就说明情况。 I wanted to change the resolution for a .jar file, so I decompiled it with Java Decompiler , then I went to Notepad++ and made a small edit, in 2 lines for a .java file: 我想更改.jar文件的分辨率,所以我用Java Decompiler对其进行了反编译 ,然后转到Notepad ++并做了一个小编辑,对.java文件进行了2行:

    paramGraphics.setClip(0, 0, 176, 208);

to this: 对此:

    paramGraphics.setClip(0, 0, 320, 240);

And: 和:

paramGraphics.setClip(0, 0, 176, 208);

to this: 对此:

paramGraphics.setClip(0, 0, 320, 240);

Then saved. 然后保存。 After that, I wanted to compile that file to a class. 之后,我想将该文件编译为一个类。 I tried with javac command, didn't work and showed like 100 errors. 我尝试使用javac命令,但没有正常工作,并显示了100个错误。 It didn't compile. 它没有编译。 Ten used NetBeans. 十个使用过的NetBeans。 Same results, it didn't compile. 结果相同,但未编译。

This is the compiler output in NetBeans: 这是NetBeans中的编译器输出:

ant -f "C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4" -Dnb.internal.action.name=rebuild clean jar init: deps-clean: Created dir: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build Updating property file: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\built-clean.properties Deleting directory C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build clean: init: deps-jar: Created dir: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build Updating property file: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\built-jar.properties Created dir: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\classes Created dir: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\empty Created dir: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\generated-sources\\ap-source-output Compiling 1 source file to C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\build\\classes C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:4: error: cannot find symbol public Image jdField_int; symbol: class Image location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:18: error: cannot find symbol public a(InputStream paramInputStream) symbol: class InputStream location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:61: error: cannot find symbol public void jdField_if(Graphics paramGraphics) symbol: class Graphics location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:70: error: cannot find symbol public void a(Graphics paramGraphics) symbol: class Graphics location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:77: error: cannot find symbol int m = i + b.bF + 16; symbol: variable b location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:79: error: cannot find symbol int i1 = e.jdField_if(m, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:80: error: cannot find symbol int i2 = e.jdField_if(n, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:83: error: cannot find symbol i3 = e.jdField_if(n, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:85: error: cannot find symbol i3 = e.jdField_if(m + 16, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:88: error: cannot find symbol i4 = e.jdField_if(m, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:90: error: cannot find symbol i4 = e.jdField_if(n - 16, k); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:91: error: cannot find symbol int i5 = e.jdField_if(m, k - 16); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.java:92: error: cannot find symbol int i6 = e.jdField_if(n, k - 16); symbol: variable e location: class a C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\src\\javaapplication4\\a.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:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\nbproject\\build-impl.xml:920: The following error occurred while executing this line: C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication4\\nbproject\\build-impl.xml:260: Compile failed; see the compiler error output for details. BUILD FAILED (total time: 2 seconds)

How can I recompile my file to class? 如何将文件重新编译为类? I don't know a lot about java, so I'm a newbie in it. 我对Java不太了解,所以我是Java的新手。 Can anyone help me? 谁能帮我?

Thanks in advance 提前致谢


UPDATE! 更新!

This is the output log now... 现在是输出日志...

    ant -f "C:\\Users\\USER\\Mis documentos\\NetBeansProjects\\JavaApplication5" -Dnb.internal.action.name=rebuild clean jar
init:
deps-clean:
Updating property file: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\built-clean.properties
Deleting directory C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build
clean:
init:
deps-jar:
Created dir: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build
Updating property file: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\built-jar.properties
Created dir: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\classes
Created dir: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\empty
Created dir: C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\generated-sources\ap-source-output
Compiling 8 source files to C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\build\classes
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\Dun.java:22: error: <identifier> expected
      a.char = true;
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\Dun.java:22: error: not a statement
      a.char = true;
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\Dun.java:22: error: illegal start of expression
      a.char = true;
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\src\javaapplication5\Dun.java:22: error: ';' expected
      a.char = true;
4 errors
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\nbproject\build-impl.xml:920: The following error occurred while executing this line:
C:\Users\USER\Mis documentos\NetBeansProjects\JavaApplication5\nbproject\build-impl.xml:260: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)

You need to have all jars Y which the author used to compile the original class/jar X. Provided the jar X is self-sufficient (ie it does not depend on external jars like Y), then you can just add the original X to the classpath, then try to compile your modified class/jar X again (with your changes included). 您需要拥有作者用来编译原始类/ jar X的所有jarsY。如果jar X是自足的(即它不依赖于像Y的外部jars),则可以将原始X添加到类路径,然后尝试再次编译修改后的类/ jar X(包括所做的更改)。 But almost no jar is self-sufficient these days so probably you will have no much luck. 但是这些天几乎没有罐子能自给自足,所以可能您运气不高。 You just need to know all the dependencies which the author used at compile time for producing the jar X. 您只需要知道作者在编译时用于生成jar X的所有依赖项。

我的朋友使用任何IDE编译您的代码,它将向您显示错误,然后相应地通过该类添加所需的资源,然后尝试运行它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM