IntelliJ IDEA의 응용 프로그램 실행 프로필에서 클래스 경로에 디렉토리를 추가하는 방법은 무엇입니까?


206

응용 프로그램 실행 프로필의 클래스 경로에 디렉토리를 추가하려고합니다.

VM 설정에서 -cp x : target / classes를 사용하여 재정의하면 다음 오류가 발생합니다.

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

내 프로젝트의 클래스 경로에 디렉토리를 추가하는 방법에 대한 아이디어가 있습니까?


1
당신이 그것을 추가하려고하는 곳은 나에게 분명하지 않습니다. IJ 명령 줄에서? 아니면 프로젝트 속성에서?
Heiko Rupp

답변:


270

Intellij 13에서는 다시 약간 다르게 보입니다. Intellij 13에 대한 지침은 다음과 같습니다.

  1. 프로젝트 뷰를 클릭하거나 창의 왼쪽 테두리에있는 "1 : 프로젝트"버튼을 클릭하거나 Alt + 1을 눌러 숨기기를 해제하십시오
  2. 프로젝트 또는 하위 모듈을 찾아서 클릭하여 강조 표시 한 다음 F4를 누르거나 마우스 오른쪽 단추를 클릭하고 "Open Module Settings"를 선택하십시오 (IntelliJ 14에서는 F12가 됨)
  3. 의존성 탭을 클릭하십시오
  4. 오른쪽의 "+"버튼을 클릭하고 "Jars 또는 디렉토리 ..."를 선택하십시오.
  5. 경로를 찾고 확인을 클릭하십시오.
  6. "선택한 파일의 범주 선택"대화 상자 Classes에서 (속성 임에도 불구 하고)를 선택 하고 확인과 확인을 다시 누릅니다.
  7. 이제 응용 프로그램을 실행할 수 있으며 클래스 경로에 선택된 경로가 있습니다.

2
따라서 하나에 만 존재해야하지만 다른 하나에는 존재하지 않아야하는 두 개의 다른 디렉토리로 구성을 실행하기 위해 어떻게 작성해야합니까? 일식에서는 시작 구성에 아무것도 추가 / 제거 할 수 있습니다. IntelliJ는 이것을 지원하지 않습니까?
Καrτhικ

9
실행 구성 변경 모듈 클래스 경로의 클래스 경로를 변경할 수 있음이 분명합니다 . 그러나 정확한 질문은 "응용 프로그램 실행 프로필 에서 클래스 경로에 디렉토리를 추가하는 방법 "이었습니다. 실제는 uaaquarius에 의해 주어졌습니다
Pavel Vyazankin

감사합니다 ! 이것은 오랜 세월 동안 검색 한 후에 내 문제를 해결했습니다!
JonasCz-복직 모니카

1
6 단계는 나에게 오지 않습니다. 나는 intellij 14에 있습니다. 내 .jar가있는 lib라는 폴더가 있습니다. 폴더 또는 jar를 선택하면 경로가 intellij로 구문 분석됩니다. 여전히 작동하지 않습니다
Takeru

@Takeru 이걸 알아 냈어?
rosshamish

91

IntelliJ 11이 방법을 변경 한 것으로 보이며 확인 된 답변이 더 이상 작동하지 않습니다. 다른 사람이 검색 엔진을 통해 여기에 도착하는 경우 IntelliJ 11에서 해결 한 방법은 다음과 같습니다.

  1. 프로젝트 구조로 이동하여 모듈을 클릭하고 모듈을 클릭하십시오.
  2. "종속성"탭을 선택하십시오
  3. 오른쪽에있는 "+"버튼을 클릭하고 "Jars 또는 디렉토리 ..."를 선택하십시오.
  4. 원하는 디렉토리를 추가하고 (다중 선택 가능) 확인을 클릭하십시오.
  5. 대화 상자가 나타나면 "jar 디렉토리"가 아닌 "classes"를 선택하십시오.
  6. 실행 대상에서 해당 모듈을 사용하고 있는지 확인하십시오

5 단계가 중요한 차이점 인 것 같습니다. "jar 디렉토리"를 선택하면 IDE에서 정확히 동일하게 보이지만 런타임에 경로를 포함하지 않습니다. 사실 후에 이전에 "클래스"또는 "jar 디렉토리"를 선택했는지 여부를 판별 할 방법이없는 것 같습니다.


4
이것을 게시 해 주셔서 감사합니다. 한 시간 정도만 저를 구 했어요
John Jiang

나는 IJ11과 같은 문제가 있었고 이번에는 나를 기다리는 대답을 찾았습니다.
sal

완전한. IJ12와 동일한 프로세스입니다. 'java.lang.ClassNotFoundException : com / microsoft / jdbc / sqlserver / SQLServerDriver'를 해결하려고 할 때이 게시물을 보았습니다. 연결 문제가 해결되었습니다. 감사합니다
jkmurphy1

6
나는 5 단계를 얻지 못했습니다 :( 대화 상자가 나타나지 않습니다.
Charles Wood

1
@CharlesWood : 하위 폴더가 포함 된 폴더 중 하나가있는 두 개의 폴더를 선택하려고했습니다. 대화 상자를 표시하려면 폴더 이름 옆에있는 작은 화살표 기호를 통해 하위 폴더가 포함 된 하위 폴더를 확장해야했습니다. 그렇지 않으면 대화 상자를 건너 뜁니다.
Timo Reimann

35

Java 응용 프로그램 실행기의 -Xbootclasspath / a : path 옵션을 사용해 볼 수 있습니다 . 설명에 따르면 "기본 부트 스트랩 클래스 경로에 추가 할 콜론으로 구분 된 디렉토리, JAR 아카이브 및 ZIP 아카이브 경로"를 지정합니다.


2
-Xbootclasspath 작동 방식에 대한 일부 문서 : docs.oracle.com/cd/E15289_01/doc.40/e15062/optionx.htm#i1018570
Lambart

3
프로젝트 구성을 변경할 필요가 없기 때문에 좋은 대답입니다. 사실 나는 그것이 가장 좋은 대답이라고 생각합니다.
Chewy

1
불행히도 그 클래스 패스에서로드 된 모든 클래스가 부트 스트랩 클래스 로더에 의해로드 될 수 있기 때문에 불행히도 작동하지 않았습니다 .Xyz.class.getClassLoader ()가 null이 아니라고 가정하는 코드가 중단됩니다.
Njol

@uaaquarius, 왜 명령 행 문자열을 직접 편집 할 수 없는가? 실망 스럽습니다.
Pacerier

@uaaquarius, 왜 stackoverflow.com/a/16742141/632951mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar 의 다른 방법을 사용하여 종속성으로 추가 하면 작동하지만 사용 하지 않는 이유는 무엇입니까? -Xbootclasspath/a
Pacerier

19

모듈 의존성 탭 (프로젝트 구조 대화 상자)에서 Idea 8을 사용하고 있습니다. "모듈 라이브러리"를 추가하십시오. 여기에서 추가 할 Jar 디렉토리를 선택할 수 있습니다. 그런 다음 실행 프로파일이 실행될 때 올바른 모듈의 클래스 경로 및 JDK를 사용하고 있는지 확인하십시오 (실행 구성 대화 상자에 있음).



2

클래스 경로에 x : target / classes 만 필요하다고 가정 하십시오. 그런 다음이 폴더를 클래스 경로 및 % IDEA % \ lib \ idea_rt.jar에 추가하십시오. 이제 작동합니다. 그게 다야.


4
문제는이 폴더를 IDEA의 클래스 경로에 어떻게 추가합니까?
Pacerier

0

클래스 폴더를 지정할 필요가 없습니다. Intellij가로드 할 수 있어야합니다. "프로젝트 컴파일러 출력"이 비어 있으면이 오류가 발생합니다.

아래 값이 설정되어 있는지 확인하십시오 : Project Settings-> Project- > Project Compiler output to your projectDir / out folder

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.