How to add directory to classpath in an application run profile in IntelliJ IDEA?

JavaIntellij IdeaClasspath

Java Problem Overview


I'm trying to add a directory to the classpath of an application run profile

If I override by using -cp x:target/classes in the VM settings, I get the following error:

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

Any idea on how to add a directory to the classpath for my project?

Java Solutions


Solution 1 - Java

In Intellij 13, it looks it's slightly different again. Here are the instructions for Intellij 13:

  1. click on the Project view or unhide it by clicking on the "1: Project" button on the left border of the window or by pressing Alt + 1
  2. find your project or sub-module and click on it to highlight it, then press F4, or right click and choose "Open Module Settings" (on IntelliJ 14 it became F12)
  3. click on the dependencies tab
  4. Click the "+" button on the right and select "Jars or directories..."
  5. Find your path and click OK
  6. In the dialog with "Choose Categories of Selected File", choose Classes (even if it's properties), press OK and OK again
  7. You can now run your application and it will have the selected path in the class path

Solution 2 - Java

It appears that IntelliJ 11 has changed the method, and the checked answer no longer works for me. In case anyone else arrives here via a search engine, here's how I solved it in IntelliJ 11:

  1. Go to the Project Structure, click on Modules, and click on your Module
  2. Choose the "Dependencies" tab
  3. Click the "+" button on the right-hand side and select "Jars or directories..."
  4. Add the directory(ies) you want (note you can multi-select) and click OK
  5. In the dialog that comes up, select "classes" and NOT "jar directory"
  6. Make sure you're using that Module in your run target

Note that step 5 seems to be the key difference. If you select "jar directory" it will look exactly the same in the IDE but won't include the path at runtime. There appears to be no way to determine whether you've previously selected "classes" or "jar directory" after the fact.

Solution 3 - Java

You can try -Xbootclasspath/a:path option of java application launcher. By description it specifies "a colon-separated path of directires, JAR archives, and ZIP archives to append to the default bootstrap class path."

Solution 4 - Java

I am using Idea 8. in your module dependancies tab (in the project structure dialog). Add a "Module Library". There you can select a Jar Directory to add. Then make sure the run profile is using the Classpath and JDK of the correct module when it runs (this is in the run config dialog.

Solution 5 - Java

Set "VM options" like: "-cp $Classpath$;your_classpath"

VM options

Solution 6 - Java

Simply check that the directory/package of the class is marked as "Sources Root". I believe the package should be application or execution in your case.

To do so, right click on the package, and select Mark Directory As->Sources Root.

1

Solution 7 - Java

You need not specify the classes folder. Intellij should be able to load it. You will get this error if "Project Compiler output" is blank.

Just make sure that below value is set: Project Settings -> Project -> Project Compiler output to your projectDir/out folder

Solution 8 - Java

  • Open Settings
  • Under project Settings, select "project settings (1)"
  • On the left, select "modules"
  • Select the desired module
  • Select the "Sources" tab
  • In the tree structure, find the directory you want to add. Then either add as a source or test source.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsalView Question on Stackoverflow
Solution 1 - JavastivloView Answer on Stackoverflow
Solution 2 - JavasamkassView Answer on Stackoverflow
Solution 3 - JavauaaquariusView Answer on Stackoverflow
Solution 4 - JavaMike PoneView Answer on Stackoverflow
Solution 5 - JavazoirsView Answer on Stackoverflow
Solution 6 - JavaNitesh Kumar ThakurView Answer on Stackoverflow
Solution 7 - JavaVNN456View Answer on Stackoverflow
Solution 8 - JavaO.KaplanView Answer on Stackoverflow