2016-06-27 4 views
-6

클래스가 포함 된 jar 파일이 있습니다. 터미널을 통해 jar 파일에있는 클래스의 메서드를 호출해야합니다. 누구든지 나를 도울 수 있습니까?터미널을 통해 jar 클래스의 메서드를 호출하려면 어떻게해야합니까?

+0

JAR에서 클래스의 메소드를 호출하는 코드를 작성하면 응용 프로그램의 CLASSPATH에 있어야한다는 것을 의미합니다. 실행 가능한 JAR에서 main 메소드를 실행한다는 것은 JAR 매니페스트에 있어야한다는 것을 의미합니다. – duffymo

+0

@duffymo, 감사합니다. 클래스는 main 메소드가 없기 때문에 Runnable jar가 아닙니다. 정상적인 항아리입니다. 이 항아리를 사용하여 터미널을 통해 메소드를 호출해야합니다. –

+0

자바 메인을 호출하는 클래스를 작성하지 않는 한 커맨드 라인에서 할 수 있다고 생각하지 않습니다. 어떻게 든 JVM을 시작해야합니다. 주요 방법이 필요합니다. 원하는 메소드를 호출하는 새로운 클래스를 작성하여 실행하십시오. – duffymo

답변

0

클래스의 클래식 main 메소드는 JAR의 매니페스트에 정의 된 경우에만 단말기에서 호출 할 수 있습니다.

public static void main(String [ ] args) { 
    .... 
} 
0

나는 당신이 터미널에, 항아리에서 클래스/메소드를 사용하는 코드를 실행하는 방법을 알고 싶어요 가정합니다. 리눅스에

:

javac -classpath your.jar:. HelloWorld.java 

java -cp your.jar:. HelloWorld 

창에

코드 (HelloWorld.java는) your.jar에서하는 방법을 사용하는 경우, 이것은 당신이/컴파일 코드를 실행하고 HelloWorld.java 내에서 해당 메소드를 호출 할 수있는 방법입니다 :

javac -classpath your.jar;. HelloWorld.java 

java -cp your.jar;. HelloWorld 
+0

여기 클래스를 실행합니다. 예를 들어 Helloworld.java에는 Display() 메서드가 있습니다. 그 Display 메서드는 어떤 것을 반환합니다. 그래서 Helloworld.java에있는 Display() 메소드를 호출해야합니다. Helloworld.java의 클래스 파일이 내 항아리에 있습니다. –

+0

Main 메서드를 사용하여 클래스를 만들고 해당 호출에서 병에있는 클래스의 Display 메서드 –

+0

어쨌든 main 메서드가 필요합니다. 주 방법을 사용하지 않으면 항아리를 사용할 수 없습니다. 맞아? –

관련 문제