2012-02-12 33 views
0

我通常在Eclipse中工作。在我的程序中,我使用此源的miglayout-4.0-swing.jar文件:link
.jar文件中的Somehere类是MigLayout
我用这些进口:
使用从.jar导入的MigLayout

import net.miginfocom.layout.Grid; 
import net.miginfocom.swing.MigLayout; 

//这是一个从jar文件。

在Eclipse中我只需要添加库:
Java构建路径 - >库 - >添加JAR文件/添加外部JAR文件 - >路径miglayout-4.0-swing.jar
所以在一切工作。
但我需要从终端运行它:java(我不使用软件包,所以我只使用bin类),但存在与.jar文件的问题,导致myMain类可能不知道类在哪里为.jar(不工作进口上)。 我尝试将.jar文件复制到类的相同目录。没有帮助。 如何正确添加.jar文件?

回答

3

命令行java命令不知道在哪里查找miglayout jar文件。你应该在命令行像

java命令path_to_miglayout_jar myMain

+0

不起作用.. – user1097772 2012-02-12 22:28:29

+0

你能更具体..?发布堆栈跟踪的错误,否则我不能帮你.. – Sorceror 2012-02-13 07:36:42

+0

还有一些其他问题 - 不知何故jdk和jre的版本是相同的。所以我解决了这个问题这个命令应该如下所示:'java -cp“path_to_miglayout_jar/miglayout-4.0-swing.jar :.” myMain' 问题出在':'之后'.','''是必须的,因为它是类路径到myMain.class我发现在linux中我使用':'在windows';'中作为分隔符。 – user1097772 2012-02-13 13:38:28

0

漂亮的老问题上运行,但为了完整起见:

同时需要.(当前目录)和miglayout-4.0.jar放在你的类路径中。你有两种方式来做到这一点。最简单的就是使用-cp

在你的情况,你需要运行:

java -cp "path_to_miglayout_jar/miglayout-4.0-swing.jar:." myMain 

,或者如果您在Windows操作系统中使用:

java -cp "path_to_miglayout_jar/miglayout-4.0-swing.jar;." myMain 

如果不确定,如果您需要要使用;(冒号)或:(或任何操作系统要求的),可以看看java.io.File.pathSeparator,其中包含正确的分隔符。

另一种方法是更改​​您的CLASSPATH变量。