[java] IntelliJ에서 항아리를 올바르게 만드는 방법?

단일 모듈과 일부 종속성이 포함 된 프로젝트가 있습니다. 컴파일 된 모듈이 들어있는 별도의 디렉토리에 항아리를 만들고 싶습니다. 또한 모듈 옆에 종속성을 표시하고 싶습니다.

IntelliJ의 “build jar”프로세스를 어떻게 비틀어도 모듈의 출력은 비어 있습니다 (META-INF 파일 외에).



답변

다음은 인 IntelliJ (10)와 함께 항아리를 구축하는 방법 http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/

File-> Project Structure-> Project Settings-> Artifacts-> 클릭 green plus sign-> Jar->From modules with dependencies...

위의 “skeleton”은 jar가 저장 될 위치로 설정됩니다. 실제로 빌드하고 저장하려면 다음을 수행하십시오.

대상 항아리로 추출

확인

빌드 | 유물 제작 | 짓다

에서 .jar 파일을 추출하십시오.

ProjectName | 아웃 | 유물 | ProjectName_jar | ProjectName.jar


답변

이것은 2017 년 여전히 문제이며, 누군가에게 도움이되기를 바랍니다. IntelliJ 2017에서 작동하는 jar를 만들 수있는 두 가지 가능성을 발견했습니다 .2

1. IntelliJ에서 아티팩트 생성 :

  • 프로젝트 구조로 이동 :

파일 메뉴

  • 새 이슈를 만듭니다.

새로운 이슈 만들기

  • 기본 클래스를 선택하고 매니페스트 폴더를 변경하십시오.

여기에 이미지 설명을 입력하십시오

매니페스트 디렉토리를 변경해야합니다.

<project folder>\src\main\java 

“java”를 “resources”로 교체

<project folder>\src\main\resources

이것이 다음과 같이 보일 것입니다 :

새로운 매니페스트를위한 올바른 방법

  • 그런 다음 항아리에 포장하려는 종속성을 선택하거나 항아리 파일 근처에

  • 아티팩트를 빌드하려면 아티팩트를 빌드하고 “다시 빌드”를 선택하십시오. jar 파일과 그 종속 항목이있는 “out”폴더를 만듭니다.

여기에 이미지 설명을 입력하십시오

2. maven-assembly-plugin 사용

pom 파일에 빌드 섹션 추가

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <finalName>ServiceCreate</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <archive>
                        <manifest>
                            <mainClass>com.svt.optimoo.App</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 새로운 실행 / 디버그 구성을 작성하십시오.

새로운 실행 / 디버그 구성을 작성하십시오.

  • 응용 프로그램을 선택하십시오 :

응용 프로그램을 선택

  • 양식을 작성
  • 빌드 후 마지막으로 실행될 “어셈블리 : 단일”메이븐 목표 추가

여기에 이미지 설명을 입력하십시오

최종 설정

  • 저장 후 실행

여기에 이미지 설명을 입력하십시오

이 절차는 “target”폴더 아래에 jar 파일을 생성합니다

JAR 파일 위치


답변

최근 에이 문제가 있었으며 이전 솔루션이나 링크에 세부 정보가 없으면이 단계를 쉽게 수행 할 수 있다고 생각합니다.

.jarIntelliJ IDEA 14.1.5를 사용하여 작성하는 방법 :

  1. 파일> 모두 저장.
  2. 메인 메소드로 드라이버 또는 클래스를 실행하십시오.
  3. 파일> 프로젝트 구조.
  4. “아티팩트”탭을 선택하십시오.
  5. 창 상단 근처에있는 녹색 더하기 버튼을 클릭하십시오.
  6. 추가 드롭 다운 메뉴에서 JAR을 선택하십시오. “종속성이있는 모듈에서”를 선택하십시오.
  7. 메인 클래스를 선택하십시오.
  8. 라디오 버튼은 “대상 JAR로 추출”을 선택해야합니다. OK를 누릅니다.
  9. “제조업체”확인란을 선택하십시오.
  10. 적용 및 확인을 누릅니다.
  11. 기본 메뉴에서 빌드 드롭 다운을 선택하십시오.
  12. 옵션 빌드 아티팩트를 선택하십시오.

답변

내가하는 것처럼 이미지의 이점을 얻는 사람들을 위해 :

File -> Project Structure

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


답변

다음은 maven 프로젝트의 단계별 예입니다.

방법 1 : maven 및 pom.xml을 사용하여 jar 빌드

  1. 파일, 새로운 프로젝트, maven
  2. 패키지를 만들고 해당 패키지 내에 Java 프로그램을 만듭니다.
    여기에 이미지 설명을 입력하십시오
  3. pom.xml에서 maven-jar-plugin을 추가하십시오.

        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>somePackage.sample</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    

화면 캡처 :
여기에 이미지 설명을 입력하십시오
4. 검색 아이콘을 클릭하고 maven을 입력하여 maven 프로젝트 상자를 엽니 다.
여기에 이미지 설명을 입력하십시오

  1. 청소를 클릭 한 다음 설치를 클릭하십시오
    여기에 이미지 설명을 입력하십시오

  2. jar 파일이 대상 폴더 안에 나타납니다.
    여기에 이미지 설명을 입력하십시오

  3. java -jar를 사용하여 항아리를 테스트하십시오.

여기에 이미지 설명을 입력하십시오

방법 2 : pom.xml 변경없이 maven으로 jar 빌드

  1. 파일, 새로운 프로젝트, maven
  2. 패키지를 만들고 해당 패키지 내에 Java 프로그램을 만듭니다 (위와 동일)
  3. File-> Project Structure-> Project Settings-> Artifacts-> 클릭 green plus sign-> Jar->From modules with dependencies

매우 중요!

MANIFEST.MF는 resources 폴더에 있어야하고 Main.Class는 {package}-{class-name-that-contains-main-class}를 참조해야합니다.

여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오

  1. 그런 다음 메뉴에서 빌드, 아티팩트 빌드, 빌드를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

  1. out 폴더에서 항아리를 찾으십시오.

여기에 이미지 설명을 입력하십시오

  1. 그것을 실행 🙂

여기에 이미지 설명을 입력하십시오


답변

아마 조금 늦었지만 winrar로 열고 META-INF 폴더에서 ECLIPSEF.RSA 및 ECLIPSEF.SF를 삭제하고 “Main-class : main_class_name”( “.class”없이) )에서 MANIFEST.MF. 마지막 줄 다음에 “Enter”를 두 번 눌렀는지 확인하십시오. 그렇지 않으면 작동하지 않습니다.


답변

이 솔루션을 사용 하면 이 오류가 발생합니다.

java -jar xxxxx.jar

xxxxx.jar에 기본 매니페스트 속성이 없습니다.

해결책은 다음 같습니다.

매니페스트 디렉토리를 변경해야합니다.

<project folder>\src\main\java 

Java를 자원으로 변경

<project folder>\src\main\resources