我正在尝试为科学目的开发Java applet。我在Eclipse上工作,在Ubuntu 11.04上;由于我需要一些额外的功能,我包括库“flanagan.jar”,“jcommons.jar”和“jfreechart.jar”。现在,当我从Eclipse内部运行applet时,一切都很顺利。然而,当我尝试在Eclipse外面这样做时,并不完全。举几个例子:
1)如果我尝试通过将其嵌入带有或标签的HTML文件来运行它,则applet失败并且我收到错误,因为缺少了从库中取出的类的定义,即使我将它们放在相同的文件夹并使用正确的archive
值告诉浏览器在哪里查找它们;
2)如果我尝试使用javac编译applet,请插入:
javac -classpath sourcefile.java library1.jar library2.jar
我收到错误消息,指出.jar文件are only accepted if annotation processing is explicitly requested
的类名。
3)我无法生成嵌入所有必需库文件的单个输出.jar文件。我还认为如果我能避免嵌入整个库(它们的重量约为4 MB)并且实际上只使用我真正需要的.class文件,它会很简洁。但我不知道怎么办。你能否就如何做上述三件事之一给我一些建议?
答案 0 :(得分:1)
您需要使用冒号-classpath
清空列表在:
参数后立即放置jar列表:
javac -classpath library1.jar:library2.jar sourcefile.java
您可以使用Eclipse生成单个输出jar:
Export...->Java->Runnable JAR File->Next->Copy required libraries into a sub-folder next to the generated JAR.
然后你可以查看新jar文件子文件夹的内容或使用:
javac -classpath sub_folder/*.jar sourcefile.java