我正在尝试将我的java文件编译成class。它是一个更大的程序的插件,当从源码运行时,它在eclipse中运行得很好。
我在Linux中工作,在shell中输入以下javac MyPlugin.java
这只是输出的一部分:
MyPlugin.java:11: package javolution.util does not exist
import javolution.util.FastList;
^
MyPlugin.java:12: package javolution.util does not exist
import javolution.util.FastMap;
^
MyPlugin.java:14: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
^
MyPlugin.java:15: package org.jwebsocket.api does not exist
import org.jwebsocket.api.PluginConfiguration;
^我的假设是,其余的错误是由于无法访问导入而导致的。
我是否需要在原始命令中添加一些内容才能包含这些导入?
发布于 2012-09-22 00:20:04
您缺少以下项目中的jars:
http://javolution.org/
http://logging.apache.org/log4j/1.2/
http://jwebsocket.org/
您可以下载缺少的JAR,并将它们包含在编译类路径中。
或者,您可以让maven管理应用程序的下载和编译。
更新:在一个位置中收集所有外部jars
要将所有外部库放在一个位置,可以使用以下命令在eclipse中创建一个可运行的JAR:
Export...->Java->Runnable JAR File输入your_temp_jar.jar并单击
Copy required libraries into a sub-folder next to the generated JAR单击Finish之后,所有必需的jars都将位于名为your_temp_jar_lib的文件夹中。
发布于 2012-09-22 00:17:22
您应该指定在类路径中包含以下类的jar文件。
javolution.util.FastList
javolution.util.FastMap
org.apache.log4j.Logger
org.jwebsocket.api.PluginConfiguration您可以使用-cp来指定jars的类路径。
发布于 2012-09-22 00:17:47
在命令行中输入javac不是构建java代码的可行或可伸缩的方法。虽然您可以使用javac的-cp将所需的依赖项添加到此编译中,但学习ant或maven会更好。
https://stackoverflow.com/questions/12534216
复制相似问题