编译java时未找到包

编译java时未找到包,java,Java,我正试图将我的java文件编译成类。 它是一个大得多的程序的插件,当从源代码运行时,它在eclipse中运行良好 我在Linux中工作,在shell中键入以下javacmyplugin.java 这只是输出的一部分: MyPlugin.java:11: package javolution.util does not exist import javolution.util.FastList; ^ MyPlugin.java:12: package j

我正试图将我的java文件编译成类。 它是一个大得多的程序的插件,当从源代码运行时,它在eclipse中运行良好

我在Linux中工作,在shell中键入以下
javacmyplugin.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;
                         ^
我的假设是,其余的错误是由于无法访问导入而导致的


我是否需要向原始命令中添加一些内容才能包含这些导入?

您应该指定在类路径中包含以下类的jar文件

javolution.util.FastList
javolution.util.FastMap
org.apache.log4j.Logger
org.jwebsocket.api.PluginConfiguration

您可以使用
-cp
来指定JAR的类路径。

在命令行键入javac不是构建java代码的可行或可伸缩的方法。虽然您可以使用-cp to javac将所需的依赖项添加到此编译中,但学习ant或maven会更好。

您缺少以下项目中的JAR:

您可以下载缺少的JAR,并将它们包含在编译类路径中

javolution.util.FastList
javolution.util.FastMap
org.apache.log4j.Logger
org.jwebsocket.api.PluginConfiguration
或者,您可以让管理员管理应用程序的下载和编译

更新:将所有外部jar收集到一个位置

要在一个地方获得所有外部库,您可以使用以下命令在eclipse中创建一个可运行的JAR:

Export...->Java->Runnable JAR File
输入
your_temp_jar.jar
并单击

Copy required libraries into a sub-folder next to the generated JAR

单击
Finish
后,所有需要的jar将位于名为
your\u temp\u jar\u lib
的文件夹中,您需要将这些jar添加到类路径中。考虑使用Maven。检查java类路径:我已经从我需要的所有东西中得到JAR文件,这就是Eclipse如何运行它们。您能告诉我是否有一种方法可以获取eclipse使用的所有类路径,以便我可以使用相同的类路径进行编译吗?您可以将所有JAR放在一起(请参阅更新)。然后只需为编译构建一个冒号
分隔的类路径列表。太好了,这很有帮助。为将来的观众总结:在完成上述操作后,我将命令改为如下:“javac-cp'/path/To/your_temp\u jar\u lib/*”MyPlugin.java。