【问题标题】:Configuring IntelliJ IDEA Ultimate to add JAR to Classpath instead of Native location配置 IntelliJ IDEA Ultimate 以将 JAR 添加到 Classpath 而不是 Native 位置
【发布时间】:2015-09-16 17:35:24
【问题描述】:

我在按预期在 IntelliJ IDEA 14.1.4 Ultimate 中设置项目库时遇到问题。在我的引擎中,我通常将原生库存储在 JAR 中,并在运行时将它们解压到一个临时目录并从那里加载它们。

但是当我希望它位于类路径上时,IntelliJ Ultimate 正在检测包含原生的 JAR 作为原生库位置。

问题是,我无法在运行时提取它们,因为它们现在不在类路径中,如 IntelliJ 文档中所述。但是,社区版询问如何添加这个 JAR,我可以在那里选择类。

有没有办法改变这种行为?我的意思是,将其添加到类路径而不是 java.library.path 属性?

提前致谢。

【问题讨论】:

  • 它在社区中真的如您所愿吗?您希望 -native jar 文件的 contents 位于类路径中,还是希望 jar 文件本身位于类路径中?我本来希望社区方法在您需要后者时为您提供前者。
  • 是的@MarkPeters,我将LWJGL 所需的本地文件存储在lwjgl-natives.jar 文件中,并在运行时将它们解压缩到临时目录。但是,当它被识别为本机位置时,它们不再位于类路径中,因此我无法在运行时提取该 JAR 中的 dll。
  • 是的,我需要类路径中本机 jar 文件的内容。

标签: java intellij-idea jar classpath native


【解决方案1】:

我目前没有可用的 Ultimate 副本,所以我不确定在 UI 中解决这个问题。

但一种解决方法是直接编辑库配置文件。如果您使用基于目录的项目格式,它将位于.idea/libraries/MyLibrary.xml。在NATIVES(或其他任何名称)下找到您的条目,然后将其移至CLASSES 下。

<component name="libraryTable">
  <library name="MyLibrary">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/lib/some-classes.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/lib/some-classes-sources.jar!/" />
    </SOURCES>
  </library>
</component>

确保在进行此更改之前关闭您的项目。

【讨论】:

  • 感谢这工作。不过我想我会等一段时间再接受,因为我觉得这有点不方便。基于 GUI 的选项会很好。
猜你喜欢
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 2015-04-14
  • 2015-04-03
  • 2015-02-13
  • 2018-11-18
相关资源
最近更新 更多