233

我正在尝试将目录添加到应用程序运行配置文件的类路径中

如果我在 VM 设置中使用 -cp x:target/classes 覆盖,则会收到以下错误:

java.lang.NoClassDefFoundError: com/intellij/rt/execution/application/AppMain

关于如何将目录添加到我的项目的类路径的任何想法?

4

9 回答 9

311

在 Intellij 13 中,它看起来又略有不同。以下是 Intellij 13 的说明:

  1. 单击项目视图或通过单击窗口左边框上的“1:项目”按钮或按 Alt + 1 取消隐藏它
  2. 找到您的项目或子模块并单击它以突出显示它,然后按 F4,或右键单击并选择“打开模块设置”(在 IntelliJ 14 上它变为 F12)
  3. 单击依赖项选项卡
  4. 单击右侧的“+”按钮,然后选择“Jars 或目录...”
  5. 找到您的路径,然后单击确定
  6. 在“选择所选文件的类别”对话框中,选择Classes(即使它是属性),再次按 OK 和 OK
  7. 您现在可以运行您的应用程序,它将在类路径中具有选定的路径
于 2014-07-19T19:02:02.263 回答
93

看来 IntelliJ 11 已经改变了方法,并且检查的答案不再适用于我。万一其他人通过搜索引擎到达这里,这是我在 IntelliJ 11 中解决它的方法:

  1. 转到项目结构,单击模块,然后单击您的模块
  2. 选择“依赖项”选项卡
  3. 单击右侧的“+”按钮并选择“罐子或目录...”
  4. 添加您想要的目录(注意您可以多选),然后单击确定
  5. 在出现的对话框中,选择“类”而不是“jar 目录”
  6. 确保您在运行目标中使用该模块

请注意,第 5 步似乎是关键区别。如果您选择“jar 目录”,它将在 IDE 中看起来完全一样,但不会在运行时包含路径。事后似乎无法确定您之前是否选择了“类”或“jar 目录”。

于 2012-03-14T15:45:48.953 回答
39

您可以尝试java 应用程序启动器的-Xbootclasspath/a:path选项。通过描述,它指定“以冒号分隔的directires、JAR 档案和ZIP 档案的路径,以附加到默认的引导类路径。”

于 2010-07-22T09:05:02.270 回答
19

我在您的模块依赖项选项卡中(在项目结构对话框中)使用 Idea 8。添加“模块库”。在那里您可以选择要添加的 Jar 目录。然后确保运行配置文件在运行时使用正确模块的类路径和 JDK(这是在运行配置对话框中。

于 2009-05-12T19:24:56.057 回答
18

设置“VM 选项”,例如:“-cp $Classpath$;your_classpath”

虚拟机选项

于 2019-09-21T08:33:48.777 回答
2

假设您的类路径中只需要x:target/classes。然后,您只需将此文件夹添加到您的类路径和 %IDEA%\lib\idea_rt.jar。现在它将起作用。就是这样。

于 2013-03-16T15:09:07.443 回答
2

只需检查该类的目录/包是否标记为“Sources Root”。我相信在您的情况下,该包应该是应用程序或执行。

为此,请右键单击包,然后选择 Mark Directory As->Sources Root。

1

于 2020-08-09T12:02:11.990 回答
0

您无需指定类文件夹。Intellij 应该能够加载它。如果“项目编译器输出”为空,您将收到此错误。

只需确保设置了以下值: Project Settings -> Project -> Project Compiler output to your projectDir/out文件夹

于 2019-06-10T21:17:58.787 回答
-1
  • 打开设置
  • 在项目设置下,选择“项目设置(1)”
  • 在左侧,选择“模块”
  • 选择所需的模块
  • 选择“来源”选项卡
  • 在树形结构中,找到要添加的目录。然后添加为源或测试源。
于 2021-03-08T09:03:19.723 回答