-3

さて、基本的には、bfj.class ファイルを変更するこれら 2 つの Minecraft の mod があるので、ここでオンライン逆コンパイラを使用してファイルを逆コンパイルしました: http://java.decompiler.free.fr/?q=preview次に、コードをコピーしました1 つのファイルから別のファイルの最後に配置し、.java ファイルとして保存します。これが機能するかどうか、またはファイルを再プログラムする必要があるかどうかはわかりませんが(プログラムの方法がわかりません)、1つのJavaファイルを1つのファイルに再コンパイルしたいと思います。逆コンパイルしてマージした 2 つのコンパイル済みファイルと、マージした .java ファイル以外に、他のファイルはありません。Java ファイルを欠落ファイルのあるクラス ファイルに変換するにはどうすればよいですか? たとえば、コンパイルしようとすると、次のエラーが発生します。

C:\Users\*******\Desktop\New folder>javac bfj.java
bfj.java:3917: error: class, interface, or enum expected
import cpw.mods.fml.relauncher.Side;
^
bfj.java:3918: error: class, interface, or enum expected
import cpw.mods.fml.relauncher.SideOnly;
^
bfj.java:3919: error: class, interface, or enum expected
import java.io.FileInputStream;
^
bfj.java:3920: error: class, interface, or enum expected
import java.io.FileNotFoundException;
^
bfj.java:3921: error: class, interface, or enum expected
import java.io.IOException;
^
bfj.java:3922: error: class, interface, or enum expected
import java.net.MalformedURLException;
^
bfj.java:3923: error: class, interface, or enum expected
import java.net.URL;
^
bfj.java:3924: error: class, interface, or enum expected
import java.util.Properties;
^
bfj.java:3925: error: class, interface, or enum expected
import java.util.Random;
^
bfj.java:3926: error: class, interface, or enum expected
import net.minecraft.client.Minecraft;
^
bfj.java:3927: error: class, interface, or enum expected
import net.minecraftforge.common.MinecraftForge;
^
bfj.java:3928: error: class, interface, or enum expected
import net.minecraftforge.event.EventBus;
^
bfj.java:3929: error: class, interface, or enum expected
import net.minecraftforge.event.entity.PlaySoundAtEntityEvent;

私が何をする必要があるか、および/またはコンパイルできる場合にこれが機能するかどうかについてのアイデアはありますか?

4

2 に答える 2

1

ライブラリ/インポートが明らかに欠落しているという事実 (コンパイル ログを参照) を除いて、ここのトピックを参照する必要があります。

Java では、デフォルトの動作は、ファイル名が含まれるクラスの名前と一致する必要があるということです。これは、両方のファイルが適切にコンパイルされていると思われるため (たとえば、yout .class ファイルがある場合)、問題ありませんでした。

ただし、あるファイルを別のファイルにコピーした場合、このルールを有効に保つためにさらに変更を加える必要があり、そのように 2 つのファイルを追加することはできません。

于 2013-06-28T04:47:58.467 に答える
0

Java ビルド システムについてよく知らない場合、このようなことを成功させる確率は非常に低くなります。

少なくとも、.java ファイルと .class ファイルの違い、 の呼び出し方法javac、および Java インポートの仕組みについて学ぶことをお勧めします。基本を理解したら、まだ質問がある場合はここに来てください。

また、より優れた逆コンパイラを使用してください。

于 2013-06-28T04:21:18.370 に答える