问题描述
我下载了一个对方的Jar程序,可以正常运行,但是我想修改程序里面的一些内容,比如其程序中有一个函数
public void setNumTarget(final long numTarget) {
this.numTarget = numTarget;
}
我想让其变成类似这样的(当然这只是其中一处想要修改的地方,还有几处稍微复杂点的)
public void setNumTarget(final long numTarget) {
if (numTarget > 5000) {
this.numTarget = numTarget;
} else {
this.numTarget = numTarget * 1000;
}
}
现在我用luyten-0.5.4.exe 这个软件,将.class反编译成 .java文件后,按照我的要求修改了文件,再想调用javac xx.java 来编译成 .class文件时,提示一堆的错误,我看主要的原因是因为缺少其他的包.比如xx.java的内容如下:
package brs;
import javax.persistence.*;
import java.math.*;
import java.util.concurrent.atomic.*;
import brs.peer.*;
import brs.crypto.*;
import com.google.gson.*;
import brs.util.*;
import java.util.*;
import java.nio.*;
import org.slf4j.*;
......
问题出现的环境背景及自己尝试过哪些方法
比如其中的 import javax.persistence.*; 我知道是缺少jar包,我从网上下载了jar包,来一起编译,就没问题了,
但是其他的比如 import brs.peer.*; 这种引用的他自己内部的包,我没有这个jar文件. 和源码一起的只有对应的.class 文件,没有jar文件, 而且我看.class的名称,也能完全对应上
这种 我该怎么才能一起编译啊,求教!
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
我目前的编译代码:
C:UsersAdministratorDesktopjava>javac -cp ejb3-persistence.jar;gson-1.7.jar
Block.java
你期待的结果是什么?实际看到的错误信息又是什么?
能够告知我如何处理这种编译呢,谢谢. 我基础有点差,如果能稍微详细点,不胜感激
报错类似如下内容:
Block.java:53: 错误: 找不到符号
private TransactionDb transactionDb() {
^
符号: 类 TransactionDb
位置: 类 Block
Logger.java:21: 错误: 找不到符号
boolean isTraceEnabled(final Marker p0);
^
符号: 类 Marker
位置: 接口 Logger
Logger.java:23: 错误: 找不到符号
void trace(final Marker p0, final String p1);
^
符号: 类 Marker
位置: 接口 Logger
Logger.java:25: 错误: 找不到符号
void trace(final Marker p0, final String p1, final Object p2);