2011-02-06 3 views
0

내가 명령을 항아리를 사용하여 구성 jar 파일이 -cf Generic.jar /java/mypackage/*.class 세 가지 클래스는 Generic.jar myPackage에에있다 클래스 파일을 포함하고 jar 파일을 만들도록 이름 지정된 패키지의 이름입니다. 는 후자 나는JSP 코드에서 jar 파일을 가져올 수 없음 수

<%@ page import="java.mypackage.GenericTree;" %> 
<%@ page import="java.mypackage.GenericTree1111;" %> 
<%@ page import="java.mypackage.GenericTree2222;" %> 

그러나 나는 다음과 같은 오류가 발생하고 사용하여 이러한 jar 파일을 가져 JSP에서

글래스 피시

WEB-INF/lib에에 Generic.jar을 복사. 누구든지 잘못된 제안을 제안 할 수 있습니까?

HTTP Status 500 - 

    type Exception report 

    message 

    descriptionThe server encountered an internal error() that prevented it from fulfilling this   request. 

    exception 

    java.lang.NoClassDefFoundError: java/mypackage/GenericTree 

note The full stack traces of the exception and its root causes are available in the GlassFish  Server Open Source Edition 3.0.1 logs. 
    GlassFish Server Open Source Edition 3.0.1 
+0

오류 메시지 맨 아래에 제안 된대로 로그 파일을보고 무슨 일이 일어나는지 확인하십시오. 이 메시지는 오류가 아니라 오류가 있음을 알려줍니다. – payne

+0

클래스가 패키지를 "package java.mypackage;"로 선언했는지 확인하겠습니까? –

+0

예, 패키지 java.mypackage를 포함 시켰습니다. 내 모든 * .java 파일에서. – Judy

답변

2
  1. 당신은 확실히 당신의 명령은 성공하고 있는가? 경로가 슬래시로 시작하는 경우에는 작동하지 않습니다. 먼저 슬래시를 제거하십시오. 즉, 다음과 같이 입력하십시오. jar -cf Generic.jar java/mypackage/*.class
  2. java부터 시작하는 패키지 이름은 적합하지 않습니다. JDK 클래스 전용입니다. 이러한 클래스는 일반 클래스 로더에 의해로드 될 수 없으며 부트 스트랩 1에 의해서만로드 될 수 있습니다. 따라서 패키지의 이름을 바꿉니다. jar vft을 실행하고 그 출력은 같은

    1,612 목 2월 3일 인도 표준시 14시 44분 34초 2011 COM/mycompany 보이는 참조 : com.mycompany.myprogram.foo.bar

  3. 지금 내가 쓴 명령을 사용하여 jar 파일을 만든 다음 그 결과를 테스트하는 것처럼 보일 것입니다 /myprogram/Hello.class

경로에주의하십시오. 그것은 귀하의 패키지를 포함해야합니다.

모든 것이 작동하면 WEB-INF/lib 아래에 항아리를 복사하고 즐기십시오. 행운을 빕니다.

관련 문제