첫째, 어떤 이상한의, 당신이 실행 볼 수 java -jar "app"
하지java -jar app.jar
둘째, jar 실행 파일을 만들려면 META-INF / MANIFEST.MF라는 파일을 jar로 만들어야합니다.
파일 자체에는 적어도 하나의 라이너가 있어야합니다.
Main-Class: com.mypackage.MyClass
공개 정적 void main (String [] args) 진입 점을 com.mypackage.MyClass
보유하는 클래스는 어디에 있습니까 ?
CLI, Maven, Ant 또는 Gradle을 사용하여 여러 가지 방법으로이를 수행 할 수 있습니다.
내용은 CLI , 다음 명령이 어떤 작업을 수행 : (TKS @ dvvrt )
jar cmvf META-INF/MANIFEST.MF <new-jar-filename>.jar <files to include>
들어 메이븐 , 다음 코드 같은 트릭을 할해야합니다. 이것은 전체 pom.xml 이 아니라 플러그인 정의 일뿐입니다 .
<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>
프로젝트에 적절한 것을 골라라 .)
를 들어 개미 의 도움이 있어야 아래 니펫을 :
<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>
크레딧 : Michael Niemand-
대한 Gradle을 :
plugins {
id 'java'
}
jar {
manifest {
attributes(
'Main-Class': 'com.mypackage.MyClass'
)
}
}