将新类添加到现有JAR文件(包含源代码)

时间:2013-07-23 18:19:56

标签: java android jar compilation javac

我会尽可能简单地说明问题。

我有一个JAR文件,我使用Winrar提取。 (jar文件包含一个开源的android库) 我想通过向库中添加一个新类来修改此JAR文件。

所以这是我的步骤:
首先,我使用Eclipse创建了一个类,并将包名称设置为与android的库包名称相同 其次,我将这个java文件复制到库中其他java文件的文件夹中 第三,我尝试使用javac通过CMD编译JAVA文件。

新java文件的路径以及库的其他.JAVA和.CLASS文件是:C:\com\example\core\
新java文件的名称为:"MyNewClass.java"
我通过CMD运行的命令是:javac C:\com\example\core\MyNewClass.java

但是,在编译期间我收到很多错误:无法找到符号。

我一直在寻找这个问题的解决方案,但无法解决如何解决它并使新的JAR文件具有我单独创建的另一个类。

我错过了什么?

3 个答案:

答案 0 :(得分:1)

根据之前的评论:

您可以通过使用git克隆存储库或点击链接页面右侧的“下载ZIP”,而不是尝试修改JAR,即可访问Universal Image Loader库的完整源代码。

获得源代码后,在IDE中导入库。从那以后,您将能够从头开始构建整个事物,进行任何您喜欢的调整/修改等。

答案 1 :(得分:0)

您的类路径可能有误,或者包名可能有误。

编译Java程序时,编译器会创建一个包含所有正在使用的标识符的列表。如果找不到标识符引用的内容则无法完成编译。这是找不到符号错误消息的说法,它没有足够的信息来拼凑Java代码想要执行的内容。

答案 2 :(得分:0)

尝试:

javac -cp com/* C:\com\example\core\MyNewClass.java

这应该让编译器知道com /...

下的所有其他类