2009-05-12 3 views
149

Я пытаюсь добавить каталог в пути к классам профиля выполнения прикладной программыКак добавить каталог в путь к классам в профиле запуска приложения в intellij idea?

Если я переопределить с помощью -cp х: целевые/классов в настройках VM, я получаю следующее сообщение об ошибке:

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

Любая идея о том, как добавить каталог в classpath для моего проекта?

+1

Мне не ясно, где вы пытаетесь добавить это. Из командной строки IJ? Или в свойствах проекта? –

ответ

171

В Intellij 13 это выглядит несколько иначе. Вот инструкции для Intellij 13:

  1. нажмите на проектном или отобразить его, нажав на «1: Проект» кнопки на левой границе окна, или нажав Alt + 1
  2. найти ваш проекта или подмодуля и нажмите на него, чтобы выделить его, затем нажмите F4 или щелкните правой кнопкой мыши и выберите «Открыть настройки модуля» (на IntelliJ 14 он стал F12)
  3. нажмите на вкладку зависимостей
  4. Нажмите кнопку «+ "справа и выберите« Ящики или каталоги ..."
  5. Найдите свой путь и нажмите OK
  6. В диалоге с„Выберите категории выбранного файла“, выбрать классы (даже если его свойства), нажмите кнопку ОК и еще раз ОК
  7. Теперь вы можете запустить приложение и его будет иметь выбранный путь в пути класса
+1

Итак, как бы вы создали запуск конфигураций с двумя разными каталогами, которые должны присутствовать исключительно в одном, но не в другом. В eclipse вы можете добавить/удалить что-либо в конфигурацию запуска. Не поддерживает ли IntelliJ это? –

+7

Довольно ясно, что вы можете изменить путь к классу * run configuration * change * module * classpath. Но точный вопрос заключался в том, «как добавить каталог в путь к классам в приложении * профайл профиля». Итак, настоящий был дан uaaquarius – dart

+0

Спасибо! Это решило мою проблему после долгих поисков! – JonasCz

19

Я использую Idea 8. на вкладке зависимостей модуля (в диалоговом окне структуры проекта). Добавьте «Библиотека модулей». Там вы можете выбрать Jar Directory для добавления. Затем убедитесь, что профиль запуска использует Classpath и JDK правильного модуля, когда он работает (это в диалоге запуска конфигурации

30

Вы можете попробовать -Xbootclasspath/а:.. Путь вариант приложения Java пусковую description, он указывает «разделенный двоеточиями путь к директивам, архивам JAR и архивам ZIP для добавления к пути класса начальной загрузки boottrap».

+1

Некоторая документация о том, как работает -Xbootclasspath: http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionx.htm#i1018570 – Lambart

+1

Это хороший ответ, поскольку он не требует вам нужно изменить конфигурацию проекта. На самом деле я думаю, что он лучше отвечает на вопрос. – Chewy

+1

Это, к сожалению, не сработало для меня, так как это приводит к тому, что все классы, загруженные из этого класса, загружаются загрузчиком класса bootstrap, который разбивает код, предполагающий, что Xyz.class.getClassLoader() не является нулевым. – Njol

71

Похоже, что IntelliJ 11 изменил метод, и проверенный ответ больше не работает для В случае, если кто-то еще прибывает сюда через поисковую систему, вот как я решил это в IntelliJ 11:

  1. Перейти к структуре проекта, нажмите на модули, и нажмите на модуля
  2. Выберите «Зависимости» Вкладка
  3. Нажмите кнопку «+» на правой стороне и выберите «Баночки или каталоги ... "
  4. Добавить каталог (-о) вы хотите (обратите внимание, вы можете выбрать несколько) и нажмите кнопку OK
  5. В появившемся диалоге выберите„классы“, а не„каталог банки“
  6. Убедитесь, что вы» с использованием этого модуля в вашей целевой задаче

Обратите внимание, что шаг 5, по-видимому, является ключевым отличием. Если вы выберете «jar directory», он будет выглядеть точно так же в среде IDE, но не будет включать путь во время выполнения. По-видимому, нет способа определить, были ли вы ранее выбраны «классы» или «каталог jar» после факта.

+2

Большое спасибо за публикацию этого. Ты просто спас мне час или около того. –

+0

У меня такая же проблема, как и раньше, с IJ11, и я был рад найти ответ, ожидающий меня на этот раз. – sal

+0

Отлично. Тот же процесс для IJ12. Запустите этот пост при попытке разрешить «java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver». Это решило проблему подключения. Спасибо – jkmurphy1

3

Предположим, вам нужно только x: target/classes в вашем пути к классу. Затем вы просто добавляете эту папку в свой путь к классам и% IDEA% \ lib \ idea_rt.jar. Теперь это сработает. Вот и все.

+0

Вопрос в том, как вы добавляете эту папку в свой путь к классам в IDEA? – Pacerier

Смежные вопросы