.java 파일에서 JAR을 만들려면 어떻게 해야 하나요?
단일 프레임의 Java 어플리케이션(프로젝트가 있는 어플리케이션이 아니라 프로젝트 내의 어플리케이션, .java)을 사용하여 심플한 프로그램을 작성하고 있었습니다.두 파일 모두 .java이기 때문에 JAR에 필요한 매니페스트를 쓸 수 없습니다.
MyApp.java는 패키지가 포함된 클래스처럼 시작하여 공용 클래스를 가져옵니다.MyApp★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★!【JDeveloper 11g】【JDeveloper 11g】【JDeveloper 11g】
이 파일들로 JAR을 만드는 방법은 없나요?
명령 프롬프트를 엽니다.
.java 파일이 있는 디렉토리로 이동합니다.
디렉토리 빌드를 작성
명령줄에서 Java 컴파일 실행
javac -d ./build *.java
오류가 없으면 빌드 디렉토리에 클래스 트리가 있어야 합니다.
빌드 디렉토리로 이동하여
jar cvf YourJar.jar *
매니페스트 체크 jar 명령줄 스위치 추가용
명령줄만 있으면 됩니다.
javac MyApp.java
jar -cf myJar.jar MyApp.class
IDE가 명령줄 터미널을 사용하지 않도록 합니다.
네, 이것이 제가 찾고 싶었던 해결책입니다.대신 여기에 이렇게 적습니다.
먼저 .java 파일에 정의된 패키지에 대응하는 디렉토리 구조를 만듭니다.my.super.application인 경우 디렉토리 "my"를 만들고 그 안에 "super"를 만들고 그 안에 .java 파일 "App.java"를 만듭니다.
다음 명령줄을 사용합니다.
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Windows에서 "를 사용하여 여러 파일을 분리하는 경우 위에는 여러 라이브러리가 포함됩니다. 그렇지 않으면 GNU/Linux에서 ":"를 사용하여 jar 파일을 만듭니다.
jar -cvfe App.jar App my/app/
위는 앱을 메인 클래스로 나타내는 매니페스트와 함께 애플리케이션을 만듭니다.
Java 또는 jar 명령줄 매개 변수를 사용하여 jar 파일에 필요한 라이브러리를 포함할 수 없습니다.
대신 다음 작업을 수행할 수 있습니다.
- jar 파일의 루트 폴더에 라이브러리를 수동으로 추출합니다.
- Netbeans 등의 IDE를 사용하여 nbproject/build-impl.xml의 post-jar 섹션에 규칙을 삽입하여 jar 내의 라이브러리를 추출합니다.이하를 참조해 주세요.
<target name="-post-jar"> <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> <jar jarfile="${dist.jar}" update="true"> <zipfileset src="${dist.jar}" includes="**/*.class" /> <zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/> <zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/> </jar> </target>
file.reference name은 Netbeans IDE에 라이브러리를 추가한 후 project.properties 파일에 있습니다.
종종 다음과 같이 매니페스트를 지정해야 합니다.
jar -cvfm myJar.jar myManifest.txt myApp.class
"create verbose jarFilename manifestFilename" 이 표시되고 그 뒤에 포함할 파일이 표시됩니다.Verbose는 무엇을 하고 있는지에 대한 메시지를 인쇄하는 것을 의미합니다.
제공하는 매니페스트 파일의 이름은 다음과 같이 지정할 수 있습니다.jar는 자동으로 이름을 변경하고 jar 파일 내의 올바른 디렉토리에 저장합니다.
이것은 단말기를 사용하지 않고 IDE에서 직접 실행할 수 있습니다.예를 들어, 팥.
- 패키지로 별도의 프로젝트를 만듭니다(프로젝트 만들기 - Java - Java 클래스 라이브러리).
- .java 클래스를 여기에 넣습니다.
- 이 프로젝트를 구축합니다.
- 프로젝트 폴더로 이동하여 빌드 및 디스트 폴더를 찾습니다.
- dist 폴더에서 .jar 파일을 찾습니다.
- 다른 프로젝트를 가져와 이 .jar 파일을 프로젝트 라이브러리에 추가합니다.
- Import가 자동으로 이루어지는 경우 이 라이브러리의 클래스와 메서드를 코드에서 직접 참조할 수 있습니다.
이 작업을 수행하는 또 다른 멋진 방법은 다음과 같습니다.
$ ls | grep .java | xargs -I {} javac {} ; jar -cf myJar.jar *.class
모든 .java 파일을 가져옵니다(ls | grep .java현재 디렉토리에서 .class로 컴파일합니다.(xargs -I {} javac {}그런 다음 이전에 컴파일된 클래스에서 jar 파일을 만듭니다( ).jar -cf myJar.jar *.class).
Java 코드에서 JAR을 컴파일하는 가장 초보자에게 친숙한 방법은 Netbeans나 Eclipse와 같은 IDE(통합 개발 환경, 기본적으로 사용자 친화적인 개발 소프트웨어)를 사용하는 것입니다.
- IDE 를 인스톨 해 셋업 합니다.여기 이클립스의 최신 버전이 있습니다.
- IDE에 프로젝트를 만들고 Java 파일을 프로젝트 폴더에 넣습니다.
- IDE에서 프로젝트를 선택하고 프로젝트를 JAR로 내보냅니다.내보낼 때 적절한 Java 파일이 선택되었는지 다시 확인합니다.
명령줄을 사용하면 이 모든 작업을 쉽게 수행할 수 있습니다.다음과 같은 명령을 실행하기 전에 대상 파일과 동일한 디렉토리에 있는지 확인하십시오.
javac YourApp.java
jar -cf YourJar.jar YourApp.class
...'YourApp'과 'YourJar'를 각각 파일 이름으로 변경합니다.
하나의 단순한 메인 클래스(Count.class 등)가 있고 이 클래스를 시작점으로 지정하는 매니페스트 파일이 포함된 jar를 원하는 경우 다음을 수행할 수 있습니다.
jar cfe app.jar Count Count.class
출처 : https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
언급URL : https://stackoverflow.com/questions/9941296/how-do-i-make-a-jar-from-a-java-file
'source' 카테고리의 다른 글
| django가 도커에서 mysql을 연결할 수 없습니다. (0) | 2022.11.02 |
|---|---|
| MariaDB 연결 상태 확인(python) (0) | 2022.11.02 |
| dict 리터럴을 사용하는 것과 dict 컨스트럭터를 사용하는 것에는 차이가 있습니까? (0) | 2022.11.02 |
| Regex: InCombining Diacricic Marks란? (0) | 2022.11.02 |
| 올바른 구문은 MariaDB 서버 버전에 해당하는 매뉴얼을 참조하십시오. (0) | 2022.11.02 |