Java 如何在IntelliJ IDEA中向应用程序运行配置文件中的类路径添加目录?

Java 如何在IntelliJ IDEA中向应用程序运行配置文件中的类路径添加目录?,java,intellij-idea,classpath,Java,Intellij Idea,Classpath,我正在尝试将目录添加到应用程序运行配置文件的类路径中 如果在VM设置中使用-cp x:target/classes进行覆盖,则会出现以下错误: java.lang.NoClassDefFoundError: com/intellij/rt/execution/application/AppMain 你知道如何为我的项目在类路径中添加目录吗?我正在使用idea 8。 在“模块依赖项”选项卡中(在“项目结构”对话框中)。添加“模块库”。您可以在那里选择要添加的Jar目录。然后确保运行配置文件在运行

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

如果在VM设置中使用-cp x:target/classes进行覆盖,则会出现以下错误:

java.lang.NoClassDefFoundError: com/intellij/rt/execution/application/AppMain
你知道如何为我的项目在类路径中添加目录吗?

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

您可以尝试java application launcher的-Xbootclasspath/a:path选项。根据说明指定“要附加到默认引导类路径的directires、JAR归档和ZIP归档的冒号分隔路径。”

看来IntelliJ 11已更改了方法,并且选中的答案不再适用于我。如果其他人通过搜索引擎到达这里,我将在IntelliJ 11中解决此问题:

  • 转到项目结构,单击模块,然后单击 模块
  • 选择“依赖项”选项卡
  • 单击右侧的“+”按钮并选择“JAR或目录…”
  • 添加所需的目录(注意,您可以多选),然后单击“确定”
  • 在弹出的对话框中,选择“类”而不是“jar目录”
  • 确保在跑步目标中使用该模块

  • 请注意,第5步似乎是关键区别。如果您选择“jar目录”,它在IDE中的外观将完全相同,但在运行时不包括路径。似乎无法确定您以前选择的是“类”还是“jar目录”“之后。

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

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

  • 单击项目视图,或通过单击窗口左边框上的“1:Project”按钮或按Alt+1将其取消隐藏
  • 找到您的项目或子模块,单击以突出显示它,然后按F4,或右键单击并选择“打开模块设置”(在IntelliJ 14上,它变成F12)
  • 单击dependencies选项卡
  • 单击右侧的“+”按钮并选择“JAR或目录…”
  • 找到您的路径并单击“确定”
  • 在“选择所选文件的类别”对话框中,选择
    (即使是属性),再按OK
  • 现在可以运行应用程序,它将在类路径中具有选定的路径

  • 您不需要指定classes文件夹。Intellij应该能够加载它。 如果“项目编译器输出”为空,则会出现此错误

    只需确保设置了以下值: 项目设置->项目->项目编译器输出 到您的projectDir/out文件夹

    设置“虚拟机选项”,如:“-cp$Classpath$;您的_Classpath”


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

    为此,右键单击包,并选择将目录标记为->源根目录

    • 开放设置
    • 在“项目设置”下,选择“项目设置(1)”
    • 在左侧,选择“模块”
    • 选择所需的模块
    • 选择“源”选项卡
    • 在树结构中,找到要添加的目录。然后添加为源或测试源

    我不清楚您要添加到哪里。从IJ命令行?或在项目属性中?相关:非常感谢您发布此消息。您刚刚为我节省了一个小时左右。我对IJ11的问题与以前一样,很高兴这次找到了等待我的答案。太好了。IJ12的流程相同。在这篇文章中运行尝试解决“java.lang.ClassNotFoundException:com/microsoft/jdbc/sqlserver/SQLServerDriver”时,这解决了连接问题。谢谢,我没有得到第5步:(对话框就是不出现。@CharlesWood:当我想选择两个文件夹,其中一个包含子文件夹时。我必须通过文件夹名称旁边的小箭头符号展开包含子文件夹的文件夹,才能显示对话框。否则,对话框将被跳过。那么,如何创建以运行配置两个不同的目录,必须以独占方式存在于其中一个目录中,而不是另一个目录中。在eclipse中,您可以向启动配置添加/删除任何内容。IntelliJ不支持这一点吗?很明显,您可以更改运行配置的类路径更改模块类路径。但确切的问题是“如何在应用程序运行配置文件中将目录添加到类路径"。所以真实的是由uaaquariusThank you提供的!这解决了我经过多年搜索后的问题!我没有想到第6步。我在intellij 14上。我有一个名为lib的文件夹,其中有my.jar。选择该文件夹或jar将只会将路径解析为intellij。仍然没有work@Takeru你弄明白了吗?一些文件关于-Xbootclasspath的工作原理:这是一个很好的答案,因为它不需要您更改项目配置。事实上,我认为它最好地回答了这个问题。不幸的是,这对我不起作用,因为这导致从该类路径加载的所有类都由引导类加载程序加载,这破坏了假设Xyz.class.getClassLoader()不为空。@uaaquarius,为什么没有办法直接编辑命令行字符串?这很令人沮丧。@uaaquarius,为什么我添加
    mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar
    作为依赖项使用另一种方法,但使用
    -Xbootcl