2017-04-21 3 views
0

여기 내 질문이 있습니다.Java 클래스 (jar 사용)를 실행할 때 패키지를 생략하는 방법

#!/bin/bash 
JAVA_HOME=/usr/local/jdk1.8.0_121 
CLASSPATH=test.jar 

$JAVA_HOME/bin/java -cp $CLASSPATH com.test.job.ExampleJob 

# test.jar 
# ㄴ com 
#  ㄴ test 
#   ㄴ job 
#    ExampleJob.class 

이 스크립트는 문제가 없습니다. 하지만 다음과 같이 패키지를 생략하고 싶습니다.

$JAVA_HOME/bin/java -cp $CLASSPATH ExampleJob 
# error 

어떻게 할 수 있습니까?

+0

이 답변보기 http://stackoverflow.com/a/11754570/2310289 –

답변

1

Manifest.mf 파일의 주 클래스 정보는 입니다. MyJar.jar \ META-INF는 \ MANIFEST.MF

Manifest-Version: 1.0 
Main-Class: com.mycomp.myproj.dir1.MainClass1 
Class-Path: MyJar.jar 
MyJar.jar\META-INF\MANIFEST.MF 

그럼 그냥 -jar MyJar.jar

마찬가지로

메인 클래스는 MANIFEST.MF

구성 프로젝트에 당신이 가질 수있는 자바와 실행
+0

답장을 보내 주셔서 감사합니다. 하지만 나는 MENIFEST.MF 파일없이 원한다. 다른 해결책이 있습니까? – noritersand

+0

@noritersand 예. 클래스를 기본 패키지에 넣습니다. 즉, 소스 파일의 시작 부분에 package 문을 제거하고 .class 파일을 직접 .jar 파일 안에 넣습니다. – Andreas