2013-06-10 8 views
12

IntelliJ IDEA 12.1.3을 사용하고 있습니다. 하나의 모듈을 가지고 있고 주어진 단계에 따라 jar로 변환하려고합니다. here. jar 파일을 만들었고 jar 파일을 D : /로 옮겼습니다. 나는 다음과 같은 메시지가이 병을 실행하려고하면 : IntelliJ IDEA에서 가변 항아리 만들기

나는 그것이 완벽하게 작동 java -classpath jar com.code.TestCase를 사용하여 실행하면 항아리

에서 메인 클래스 매니페스트 속성을로드하지 못했습니다.

왜 이런 일이 발생합니까? IntelliJ IDEA를 사용하여 항아리를 만들었습니다. 그 jar에는 내가 추가 한 모든 외부 라이브러리에 대한 모든 코드가 있습니다. SRC에 매니페스트 파일에서

:

Manifest-Version: 1.0 
Build-Jdk: 1.6.0 
Built-By: ubuntu 
Created-By: Apache Maven 
Archiver-Version: Plexus Archiver 

Name: org.apache.log4j 
Implementation-Vendor: "Apache Software Foundation" 
Implementation-Title: log4j 
Implementation-Version: 1.2.15 

왜 jar 파일의 MANIFEST.MF에 추가되지 Main-Class이지만,에 Main-Class 있습니다

Manifest-Version: 1.0 
Main-Class: com.code.TestCase 

하지만 항아리의 매니페스트 파일 내용입니다 src?

+1

Intellij 아이디어 * 1 *? 또는 아마도 11, 12 또는 13을 의미 했습니까? – vikingsteve

+1

'com.code.TestCase' 클래스를 공유 할 수 있습니까? 그것은 주된 방법을 가지고 있어야합니다 –

+0

@vikingsteve 12.1.3 – muthu

답변

0

중요한 규칙 중 하나는 매니페스트 파일이 새 줄 또는 캐리지 리턴 문자로 끝나야한다는 것입니다. 그것이 없다면 지금 추가하십시오.

+1

인코딩을 사용하지만 intellij IDEA가 생성했습니다. – muthu

+1

IDEA 12.1.3에서 생성 된 기본 매니페스트는 종료. – vikingsteve

42

저도 같은 문제를 경험하게 IntelliJ 자동 매니페스트의 경로를 채우는 방법의 수정 및/또는 버그를 발견했다.

인 IntelliJ는 UI

JAR 파일을 생성하는 아티팩트를 생성하게 IntelliJ 자동 현재 매니페스트가있는 경로를 채우고.

즉, 이슈 생성 페이지에서 Main-Class를 선택한 후 Intellij는 자동으로 \ src \ java \ META-INF \ MANIFEST.MF 경로를 추가합니다. 어떤 이유로 빌드 명령은 언급 된 MANIFEST.MF 파일을 사용하지 않습니다. "Main-class를로드하지 못했습니다."라는 결과를 초래하는 메인 클래스 정의없이 처음부터 하나를 만듭니다. IntelliJ UI를 사용하여 jar 아티팩트를 생성하는 경우; 자동 채우기 경로를 /$PROJECT_DIR/src/으로 변경하여 제거하고 확인을 클릭하십시오.

무엇 기본적으로 모양의

예 : 올바른 MANIFEST를 입력 설명서 FIX

fixed intellij artifact settings

: 지금이 그것을 변경 후 어떻게 보일지입니다

default intellij jar artifact settings

.MF FILE

ntelliJ 프로젝트에서 .ada \ artifacts \ _jar를 엽니 다.XML

확인 그것은 당신이 그렇게 그것이 받는다는 프로젝트 위치에 일어난 나를 위해 .xml 파일

의 변경에 집어 않는 한 번 인 IntelliJ를 다시해야 할 수도 있습니다

<element id="directory" name="META-INF"> 
    <element id="file-copy" path="$PROJECT_DIR$/src/META-INF/MANIFEST.MF" /> 
    </element> 

포함되어 있는지 확인 다른 구조가 존재합니다 (즉, src/main/java/..).

내가 IntelliJ에 버전 도움 12.1.6

희망과 OSX 10.9.2를 사용하고 있습니다.

+0

게시 해 주셔서 감사합니다. 솔루션에 대한 모든 것을 조사하고 왜 작동하지 않았는지 이해하려고 시도했습니다. – plosco

+0

이 문제에 대한 최선의 답변! – MSD561

+0

감사합니다. BRO) That 's definately post saver post –

관련 문제