【问题标题】:Intellij IDEA classpath.jar causing problemsIntellij IDEA classpath.jar 导致问题
【发布时间】:2016-07-21 06:46:33
【问题描述】:

当我在 Intellij IDEA 中运行单元测试时,它正在创建一个名为 casspath0.jar 的 jar。在那个 jar 中是一个 Manifest 文件,其中包含测试运行所需的类路径。我怎样才能让 intellij 不这样做?

更多详情:

我正在运行 Intellij IDEA 15.0.4、Java 1.8.0_77、Windows 7。该项目是导入 IDE 的 gradle 项目。

在调试模式下运行单元测试时,如果我运行

System.getProperty("java.class.path")

我看到了类似的东西

C:\Users\me\AppData\Local\Temp\classpath0.jar;C:\Users\me\.IntelliJIdea15\system\groovyHotSwap\gragent.jar

就是这样。类路径的其余部分在该 classpath0.jar 中。

我办公室的其他人都没有这个问题,这是一个非常古老的项目(10 年以上),很多人(25 岁以上)都在从事这项工作。它们都在该属性下而不是在临时 jar 中具有完整的类路径。我推测一定有一些我缺少的设置。这导致我无法成功运行我们的单元测试。

感谢您的任何想法。

【问题讨论】:

    标签: java intellij-idea gradle classpath


    【解决方案1】:

    我找到了原因。它与 intellij IDEA 中的“dynamic.classpath”设置有关。 What does the dynamic.classpath flag do? (IntelliJ project settings)

    至于我关于单元测试的问题,我想我将改变 gradle 下载依赖项的位置以尝试缩短我的类路径。 How to change Gradle download location.

    除此之外,我将不得不深入研究导致我出现问题的库,看看我是否可以解决这个问题。

    【讨论】:

      【解决方案2】:

      我在启动 Glassfishv4 时遇到了同样的问题,但有一个类似的例外。要修复它,请找到 domain.xml 并删除以下行:

      <jvm-options>...system\groovyHotSwap\gragent.jar</jvm-options> 
      

      之后,Glassfish 启动时没有任何错误。

      【讨论】:

        【解决方案3】:

        在其他位置卸载并重新安装 IntelliJ 后,我在服务器 (Weblogic) 启动时遇到错误,我认为这与它是 WL 服务器这一事实无关。它抱怨找不到 C:\\gragent.jar。我的一个项目中有 .groovy 文件,而且我有时也在运行调试会话。发现在我的 workspace.xml 文件中的 C:\\\.idea 中有一个硬编码(呃!)路径引用到该 .jar 文件。在条目 in

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-07-14
          • 1970-01-01
          • 2014-10-30
          • 2015-04-30
          • 1970-01-01
          • 2014-11-17
          • 1970-01-01
          相关资源
          最近更新 更多