【问题标题】:Using MigLayout imported from .jar使用从 .jar 导入的 MigLayout
【发布时间】:2012-03-04 09:42:17
【问题描述】:

我通常在 Eclipse 中工作。在我的程序中,我使用来自以下来源的 miglayout-4.0-swing.jar 文件:link
.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 文件?

【问题讨论】:

    标签: java import jar miglayout


    【解决方案1】:

    命令行java 命令不知道在哪里寻找miglayout jar 文件。您应该从命令行运行,例如

    java -cp path_to_miglayout_jar myMain

    【讨论】:

    • 你能说得更具体点吗..?使用堆栈跟踪发布错误,否则我无法帮助您..
    • 还有一些其他问题——不知何故,jdk 和 jre 的版本是相同的。所以我解决了这个问题。这个命令应该看起来像:java -cp "path_to_miglayout_jar/miglayout-4.0-swing.jar:." myMain 问题在: 之后缺少.. 是必要的,因为它是myMain.class 的类路径我发现在linux 中我使用: 在windows @987654327 @ 作为分隔符。
    • 那么编辑它呢?因为你的建议对我帮助不大,但它没有奏效,因为它通常是错误的,我不会误导可能有类似问题的人。我从我们大学的一位 Java 专家那里得到了解决方案。您的解决方案缺少指向 java 源的路径,这可能与 jar 路径不同。如果我有足够的权限,我会编辑它然后接受它。我评论中的解决方案是正确的解决方案,适用于具有路径分隔符 : 的 linux 和具有路径分隔符 ; 的 Windows 中的所有情况 更正您的答案,我会接受。
    • 我有点困惑。根据您的回答,您正在尝试运行已编译的 .class 文件,并将 miglayout 作为库 (.jar)。那么,您所写的“您的解决方案缺少通往 Java 源的路径”是什么?无论如何,你可以自己回答你的问题并接受它,这也是这样的。
    • @Sorceror: 运行你仍然需要的课程。在类路径上供 java 查找类。
    【解决方案2】:

    相当老的问题,但为了完整起见:

    你需要.(当前目录)和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 变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 2018-07-13
      • 1970-01-01
      • 2022-01-21
      • 2015-01-18
      • 2019-01-20
      • 2020-08-19
      • 1970-01-01
      相关资源
      最近更新 更多