[java] .jar 파일에서 클래스를 사용하는 방법은 무엇입니까?

JAR 파일에 대한 Sun의 Java 자습서를 읽었지만 여전히 내 문제에 대한 해결책을 찾을 수 없습니다. jtwitter.jar라는 jar 파일에서 클래스를 사용해야하고 파일을 다운로드 한 후 실행을 시도했습니다 (어제 .jar 파일을 두 번 클릭하여 실행할 수 있음을 알았습니다). Vista에서 ” [path] /jtwitter.jar “에서 Main-Class Manifest 속성을로드하지 못했습니다.

.jar 파일을 코딩 한 사람이 가져 오기를 원하지만 .jar 파일을 어디에 저장하여 내 코드로 가져 오나요? .jar 파일과 .java 파일을 같은 디렉토리에 넣으려고했지만 작동하지 않았습니다.

내가 일하려고하는 파일은 여기에 있습니다 : http://www.winterwell.com/software/jtwitter.php

JCreator LE를 사용하고 있습니다.



답변

모든 jar 파일이 실행 가능한 것은 아닙니다.

이제 jar 아래에있는 클래스를 Java 파일로 가져와야합니다. 예를 들어

import org.xml.sax.SAXException;

IDE에서 작업중인 경우 해당 설명서를 참조해야합니다. 또는 적어도이 스레드에서 어느 것을 사용하고 있는지 지정하십시오. 그것은 우리가 당신을 더 도울 수있게 해줄 것입니다.

IDE를 사용하지 않는 경우 javac -cp 옵션 을 참조하십시오 . 그러나 프로그램을 jar파일 로 패키지화 하고 jar그 안에 필요한 모든 것을 포함 시키는 것이 훨씬 좋습니다 . 그런 다음 실행하기 위해 jar같은,

java -jar my_program.jar

META-INF/MANIFEST.MF파일 이 있어야 합니다 jar. 방법은 여기를 참조 하십시오 .


답변

Classnamejar 파일에 포함 된 클래스를 사용해야한다고 가정 해 봅시다.org.example.jar

그리고 소스는 다음과 같은 파일에 있습니다 mysource.java.

import org.example.Classname;

public class mysource {
    public static void main(String[] argv) {
    ......
   }
}

먼저, 코드에서 클래스를 가져와야합니다. 그렇게하려면import org.example.Classname;

둘째, 소스를 컴파일 할 때 jar 파일을 참조해야합니다.

컴파일하는 동안 :;컴파일하는 동안 의 차이점에 유의하십시오

  • 운영 체제와 같은 유닉스 환경에있는 경우 :

    javac -cp '.:org.example.jar' mysource.java
  • 창문 아래에 있다면 :

    javac -cp .;org.example.jar mysource.java

그런 다음 바이트 코드 파일을 얻습니다. mysource.class

이제 이것을 실행할 수 있습니다 :

  • 운영 체제와 같은 유닉스 환경에있는 경우 :

    java -cp '.:org.example.jar' mysource
  • 창문 아래에 있다면 :

    java -cp .;org.example.jar mysource

답변

클래스 경로에 jar 파일을 추가해야합니다. 자바 클래스를 컴파일하려면 :

javac -cp .;jwitter.jar MyClass.java

코드를 실행하려면 (MyClass에 기본 메소드가 포함되어있는 경우) :

java -cp .;jwitter.jar MyClass

jar 파일을 어디서나 가질 수 있습니다. jar 파일이 Java 파일과 동일한 디렉토리에있는 경우 위의 작업이 수행됩니다.


답변

코드를 컴파일 / 실행할 때 .jar 파일을 클래스 경로에 넣어야합니다. 그런 다음 .jar에서 클래스의 표준 가져 오기를 사용하십시오.


답변

workmad3가 말했듯이 jar 파일이 클래스 경로에 있어야합니다. 명령 줄에서 컴파일하는 경우 -classpath 플래그를 사용해야합니다. (CLASSPATH 환경 변수는 피하십시오. 목에 통증이 있습니다.)

IDE를 사용하는 경우 어느 IDE를 알려 주시면 해당 IDE에 특정한 단계를 도와 드릴 수 있습니다.


답변