이 때 나는 설치된 응용 프로그램을 실행하려고 하면 (it& # 39 의 실행 가능한 jar) 아무런 변화도 일어나지 않습니다. When I 에서 실행하면 코먼드라인 호스트당: java - jar " app.jar" >;;
저도 다음 메시지: 분명히, no main 의 속성을 > " app.jar";
내가 만약 정상적으로 볼 수 있는 기본 클래스, 프로그램 꼭 이래야겠어요 창조하 매니페스트 파일 특성을 설명했다. 그러나 이 경우 응용 프로그램에서, 이후 이 파일은 그럴 순 없어요 난 또 시도해 볼 수 있다면 좋겠지만, 기본 클래스, jar 추출 찾을 수 있으며 어떤 단어를 둘 수축됐는데 많은 클래스뿐만 " main"; # 39 의 it&, 이름. 이 프로그램이 실행되기 때문에 다른 시스템에 대해 과태료 고칠 수 있어야 합니다.
첫째, it& # 39 의 종류의 이상한 ',', '와 java - jar " app" 보게 실행하십시오 java - jar 마카베지자' 없습니다.
둘째, jar 실행 파일을 만들 수 있습니다. you need to jar 파일 호출됨 META-INF/MANIFEST.MF
파일 자체를 하나의 라이너 (최소한) 이 있어야 합니다.
Main-Class: com.mypackage.MyClass
Public void 정적 클래스 '는' 코맥미팩거스미클라스 발목을 잡고 있는 주 (문자열 [] args) 진입점이.
단, 여러 가지 방법으로 인컨텍스트 afaq afnor 수행됨 CLI 와 함께 메이븐, Ant 또는 Gradle:
, CLI 의 다음 명령을 할 것이다. (tks 는 @ 데브프트) "' jar 파일을 include> 사마우프 META-INF/MANIFEST.MF < new-jar-filename> .jar <;;; "'
메이븐 , 에 대한 이 같은 일을 정보정의다음 스니핏 어떻게해야합니다 의심하게 된다. 참고로 이 정의를 위한 유일한 방법은 플러그인에는 아닌 전체 포m.1믈 :
<build>
<plugins>
<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>com.mypackage.MyClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
(선택 [version> <, ','] (http://search.maven.org/ # search% 7cgav% 7c1%7cg% 3a% 22org.apache.maven.plugins% 22%20and% 20a% 3a% 22maven-jar-plugin% 22) 프로젝트에 적합한.)
, 에 대한 Ant 를 아래 스니핏 수 있도록 도와야 한다.
<jar destfile="build/main/checksites.jar">
<fileset dir="build/main/classes"/>
<zipfileset includes="**/*.class" src="lib/main/some.jar"/>
<manifest>
<attribute name="Main-Class" value="com.acme.checksites.Main"/>
</manifest>
</jar>
크레딧 마이클 니먼드 -
plugins {
id 'java'
}
jar {
manifest {
attributes(
'Main-Class': 'com.mypackage.MyClass'
)
}
}
그동안 '하는 대신, java - jar " app" java - jar 마카베지자' ','.
Jar 파일의 경우 '이' jar 옵션에만 작동됨 백업이었습니다 실행가능파일 jar 파일, 즉 매니페스트 파일 있어야 한다 '' 속성을 가진 기본 클래스 항목이없습니다. 참조 [패키징에서는 프로그래밍합니다 jar 파일] (http://docs.oracle.com/javase/tutorial/deployment/jar/index.html) 을 만드는 방법을 배울 수 실행가능파일 JAR.
java -cp app.jar com.somepackage.SomeClass
여기서 '클래스' 는 '주' 방식을 코맥섬팩지.섬클레스 포함된 프로그램을 실행합니다. (그게 무슨 클래스는 따라 프로그램, it& # 39 의 알 수 없는 정보를 이용하여 you& # 39, ve 제공).
아래 그림과 같이 예제에서와 메이븐 조립품을 플러그인에는 사용할 수도 있습니다.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.package.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
이 예에서는 명시된 모든 jar 종속성을 < dependencies/>; 섹선에서 자동으로 포함시킬 하나의 jar. 단, jar 파일 이름을 대체할 수 없으며, 말 그대로 따라 jar 와 종속물과의 제공하십시오 동일팔레트에 운영까지도 포함할 수 있습니다.
이는 자바 기본 속성은 마니페스트리모프 파일을 찾을 수 없습니다. 자바 클래스를 사용할 수 있는 만큼 반드시 필요한 기본 속성은 떠날려하면 application& # 39 의 진입점이. Meta-inf 폴더 내의 파일을 jar 파일을 마니페스트리모프 에 위치해 있다. 어떻게 보면 what& # 39 을 jar 파일 안에 만날 수 있습니다. Jar 파일을 열고 있는 WinRAR.
내부의 마니페스트리모프 기본 속성은 다음과 같습니다.
Main-Class: <packagename>.<classname>
No main afaq afnor " attribute", 분명히 있습니다. 이 라인은 때 오류가 빠져 마니페스트리모프 절실해졌습니다.
업데이트: 그냥 늑대굴에서 정말 멋있게 지정하는 방법은 Application& # 39 의 진입점이 eclipse 에서. When you say 익스포트를,
Select Jar and next
[ give it a name in the next window ] and next
and next again
and you'll see " Select the class of the application entry point".
Just pick a class and Eclipse will automatically build a cool MANIFEST.MF for you.
메이븐, 이것이 바로 해결 위한 it (가져다줄래요 대한 비트리 codebase 켜짐이 깃허브):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.lazydevs.veetle.api.VeetleAPI</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
건배해요
Intellij idea jar 만들 때 사용하는 이 문제가 있었습니다. 지켜보리니 이 토론.
어떤 it for me 는 재생성하려면 유물, 선택 JAR > jar 를 해결했습니다. 하지만 충스러웠으니 모듈을 통해 종속물과의 받아들일 기본값입니다 디렉터리입니다 META-INF/MANIFEST.MF. 대한 에서 - / src / / / src / java 를 변경하십시오 메인 주 및 자료.
그렇지 않으면 전송되었기 매니페스트 파일 등) 에서 한 주 / / src / java - jar, 서피스뿐 아니라 것이 있다.
이 명령을 시도하시겠습니까 포함시키십시오 jar.
java -cp yourJarName.jar your.package..your.MainClass
같은 문제가 있었습니다. 치어 선을 추가하여 다음과 같은 파일 그것으로이라엘 작동합니까. 이 과정에서 필요한 모든 단계를 구축하십시오 함께 응용 프로그램을 플러그인에는 발쿰치로 합니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
내가 정말 가져다줄래요 없었다 - 정확한 답변을 통해 경식도 매니페스트 파일 들어 있는 배치하십시오 기본 클래스 것도 있고. 트립 절) 는 어떤 이.
>. 경고: 텍스트 파일을 선택할 분판할 분명한 합니다. >. 새 선이나 끝나야 케리지리턴. 마지막 행은 않을 것이다. >. 만약 그렇다면 로 끝나지 않는 새로운 선 또는 케리지리턴 제대로 분석되었다.
([출처] (http://docs.oracle.com/javase/tutorial/deployment/jar/modman.html)). 끝에 개행 추가에는 분명한 고정식입니다 거잖나.
이제 막 나는 attaboy 동일한 오류.
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'com.company.project.MainClass'
}
}
여기서 '와' 공용 정적 클래스 경로 ur 코맥컴파니콜project.맹클레스 'void main (문자열 [] args)' 메서드입니다.
Maven 에서 치어 포함시키십시오 사용할 경우 다음과 같은
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
[1]: https://docs.oracle.com/javase/10/docs/specs/jar/jar.html # 주요 속성을
같은 문제를 겪고 난 it& # 39 의 고정 이제) 그냥 아무것도 할 수 있지만, 다음 단계를 위한 다음 단계를 준수하십시오 오류 및 프로세스를 통해 더 매끄러워집니다. 내가 찾는 데 많은 시간을 들여 수리입니다.
이클립스 (Eclipse 를 사용하는 경우 구축됨 JAR 파일) 1.try 재시작하십시오.
이클립스 (eclipse) 는 2.after 재시작하여 보려고 인식할 수 있는 경우, 기본 클래스 / 방법을 따라 >, java project - 오른쪽 클릭 - >. 실행하십시오 > 있다. &Gt 실행하십시오 구성 -; 주 - >. 검색 버튼을 클릭합니다 볼 수 있는 기본 클래스 이클립스 JAR 파일의 경우 단축시킵니다 조회할 수 있다.
이 후 내보내십시오 jave 동적임 프로젝트로 " 실행 가능한 JAR"; jar 파일은 파일 및 없습니다.
자바 가상 머신 (jvm) 에 런칭합니까 구성, 고르십시오 기본 클래스.
한 번 jar 파일을 익스포트합니다 아래 명령을 실행합니다. java - jar 자맹클레스 cp [너회의 JAR] [패키지로] 예: java - cp 애플츠룰라우디t.자 코맥애플.t크룰라우디트리클레세.t크룰라우디스
자바 버전을 인쇄면 지원되지 않는 오류가 있을 수 있습니다. 이 문제를 해결하려면 해당 쉘로 bash 프로파일할 java_home 변경하십시오 일치시킵니다 컴파일하십시오 버전이 사용되는 자바 프로젝트를 진행한다.
이를 통해 희망을! 모든 문제를 잘 아직 있다면 알려주세요.
개인적으로 생각하는 모든 답을 이해 경영정보시스템 (mis) 여기서는 질문. 이 질문에 대한 대답은 어떻게 이 거짓한 봄 부트하는 스자리 작성합니다 차이 이 같은 사실은 누구나 알고 있는 모든 사람 분명히 다릅니다 부트하는 봄 설정하고 이시섬프션 이는 표준 jar 런칭합니까, 워크플로가 수도 있고 아닐 수도 있습니다.
Start-Class: com.myco.eventlogging.MyService
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 1.4.0.RELEASE
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_131
Main-Class: org.springframework.boot.loader.JarLauncher
아마도 '클래스' 를 통해 오르g. 스프링프라임워k.부스트로이드리자로네커 실행됨을 하는지?
난 이미 동일한 문제가 발생합니다. 여기서 언급한 많은 솔루션뀉뀉뀉뀉 didn& # 39, t give me 전체 그림을 도왔으매 I& # 39, ll try 전달자로써 너희에의 夸약 방법을 통해 팩 jar 파일을 명령줄이 .
패키지 테스파스카제.
public class 테스트 { . }
자바스 - d). 테스트리자바
'는' -d 컴파일러와의 디렉토리 구조를 만들 운영까지도.
그럼 우리가 원하는 ' (the name of the jar 않했노라 테스트리자'.
이 후, .< classname> packagename> 않했노라 진입점이 <;;
그리고 완료되니라 '-C. packagename> <; / '클래스 파일을 해당 폴더에서 폴더 구조를 그대로 유지할 수 있습니다.
jar 스티페프 테스트리자 테스파스카제. 테스트 - C. testpackage/
META-INF 마니페스트리모프 테스파스카제 테스트리클레스
이 마니페스트리모프 포함되는
분명히 버전: 1.0 만든: jdk Version> <; (Oracle Corporation) 기본 클래스: 테스파스카제. 테스트
분명 변경하십시오 경우 반드시 손으로 # 39, 그렇지 않으면 jave doesn& 끝에 개행 문자 그대로 인정하지 않는다.
java - jar 테스트리자
Jar 파일을 올바르게 창조하 없을 수도 있습니다.
>. 예: 누각되었습니다 jar 생성 옵션 m
다음 작업:
jar -cvfm MyJar.jar Manifest.txt *.class
Jar 파일은 클릭하거나 명령을 사용하여 같은 모든 실행 또는 실행 실행하십시오 프롬프트합니다 java - jar 마카베지자 (사용 " jar, 만약 길을 space" 포함되어 있습니다. 즉, java - jar " C:\folder name\app.jar"). 즉, 제대로 만들어지지 않는 경우 실행가능파일 jar 를 실행할 수 없습니다.
더 나은 이해를 돕기 위한 푸십시오 jar 파일 (또는 볼 수 있는 도구를 사용하여 windows 용 7-Zip 좋은 원-부트) 아래에서 파일을 선택하여 /META-INF/MANIFEST.MF. 같은 모든 항목을 찾을 수 있다면
기본 클래스: 그럼 it& 유리팩지드 마이클라위스망 # 39 의 좋아, 그렇지 않으면 이를 제공할 수 있다.
주의해야 할 수 있는 파일, 체크 항목에 대한 추가 기본 클래스 마니페스트리모프 살릴거라고 it!