jar파일을 얻었습니다. 근데 그후가 문제네요..
마루
다른사람이 만든프로그램의 jar파일 얻었습니다.
그 프로그램을 참조하고 싶은데요.
이클립스에서 어떻게 부르나요?
import에서 Archive File로 불렀습니다.
class파일들, icon파일, wav 파일들이 목록에 나와서 class파일을 더블클릭해보니까
Source not found 라고 나오네요.. 아이콘은 불러와지는거보니 class만 안되는거 같은데...
원래 이런건가요?
아니면 제가 잘못한건가요?
-
으뜸
소스파일을 컴파일하면 class 파일이 나오고
class파일들을 묶은것이 jar파일입니다. ( 정확하게 말하면 틀린 말이지만, 우선 요렇게만 이해를... )
소스를 컴파일 해서 class파일이 나왔으니깐
class파일을 디컴파일 하면 소스가 나옵니다. ( 물론 좀 알아 보기 힘들게 나옵니다. ) -
바나나맛사탕
원래는 jar파일 자체는 압축파일이라 소스를 볼 수 없습니다. 하지만 압축을 풀고
class파일에 jad라는 걸 쓰면 100%는 아니라도 거의 비슷하게 볼 수 있습니다. 물론 안되는 class파일도 있지만요.
또한 jar파일은 왠만한 압축 프로그램이면 압축 풀 수 있습니다. 물론 jar로 푸는게 좋겠지만요. -
별글
원칙상으로는 VM머신상의 소스는 100% 볼 수 있습니다만...
사용하시는 툴에 따라서 볼 수도 있고 볼 수 없을 수도 있고 그렇습니다.
당연히 원본 소스가 포함되지 않은 이상 원본 소스는 볼 수 없겠지요^^;;
그저, 역 컴파일이 100% 가능할 뿐입니다.
이건 창과 방패의 관계라서.....
아래 답변처럼 Jad가 그나마 많이 사용되고
구 버전의 class파일은 60%가량은 풀린다고 보시면됩니다.
Jad는 이클립스 플러그인도 존재합니다. -
초롱꽃
수다님, 버섯수다님 감사합니다.
그런데 그 jar파일의 소스코드를 볼수는 없는건가요? -
탄성
덧글 감사합니다.
-
첫빛
1. build path에서 해당 jar파일을 추가 하시고,
2. 사용하고 싶은 소스에서 import 명령으로 import 선언후에 사용하시면 됩니다.
또는 클래스 선언시 패키지 경로를 포함한 Full Name으로 선언하셔도 됩니다.
더블 클릭은 단순히 뷰어와 연결하는 용도 외에는 없습니다.
icon이라면 그래픽 뷰어와 연결되어서 아이콘 모양이 나왔을 뿐이겠죠. -
야미
덧글 감사합니다.
-
좋아해
일반적으로 class 파일에는 소스코드가 있지 않습니다.
소스코드를 컴파일하면 class 확장자를 가진 바이트코드가 나오는데 말씀하시는게 그것 같네요
그리고 참조를 한다는게 import 해서(이클립스의 import가 아니고 java에서의 지시자입니다)
사용하는 것은 class 파일 상태에서도 사용 가능합니다.