【问题标题】:How to specify the path to jar in java source code?如何在java源代码中指定jar的路径?
【发布时间】:2018-03-20 20:30:22
【问题描述】:

在我的程序中,我正在导入一些在 jar 中的类文件中定义的函数。而且每当我编译或运行代码时,我总是需要用-cp ./:/path/to/jar指定文件的路径。

有什么方法可以在我的源代码中指定 jar 路径?这样就不用每次编译或运行代码时都输入-cp ./:/path/to/jar了?

【问题讨论】:

  • 使用 Maven 或 Gradle 等构建工具,您不再需要输入 -cp
  • @lexicore 实际上我对输入-cp 感到很冷淡。只是我认为在运行时指定这些东西并不是一种干净的做事方式。所以我想知道是否有办法让它看起来“干净整洁”
  • 目前还不清楚您要做什么。运行?你在运行时编译一些东西吗?
  • @lexicore 不,它不仅用于编译,还用于运行。一旦你决定包含一个 jar 文件,你总是需要在编译或运行时使用-cp。这很烦人,用户应该知道在命令行中启动程序时要做什么。所以我正在寻找一种干净的方式,每当我编译时我只是 javac /path/to/source/file/ 而当我运行时我只是 java classname
  • 但是对于运行时,您不需要在源代码中指定 JAR 路径。

标签: java import jar classpath


【解决方案1】:

VM 使用类路径来查找您的类。您不能在源代码中指定它。如果您正在寻找捷径,那么您可以编写一个包装脚本,使用您想要的类路径调用您的程序。

【讨论】:

    【解决方案2】:

    您可以改为更改包装方法。如果您创建了一个“胖 jar”,其中包含您的代码和您所依赖的其他 jar 中的其他类,那么您可以使用“java -jar yourjar.jar”运行您的应用程序。 Maven Shade 是执行此操作的一种方法,请参阅:https://maven.apache.org/plugins/maven-shade-plugin/

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      相关资源
      最近更新 更多