2016-09-19 3 views
-1

자바 클래스를 사용자 정의하기 위해 노력하고 있습니다. 이 커스터마이징을하기 전에 기존 java jar 파일 (MMC.jar)의 컴파일/디 컴파일 프로세스를 확인하기 만하면됩니다. Error : 예상되는 추상 인터페이스 package-info {}

우리는 우리가 (사용자 정의없이) 기존 MMC.jar를 컴파일 할 때이 6 오류

./com/mmc/model/acknowledgement/package-info.java:7: error: illegal start of  
type abstract interface package-info {} 
        ^
./com/mmc/model/acknowledgement/package-info.java:7: error: = expected 
abstract interface package-info {} 
          ^
./com/mmc/model/customer/package-info.java:7: error: <identifier> expected 
abstract interface package-info {} 
      ^
./com/mmc/model/customer/package-info.java:7: error: illegal start of type 
abstract interface package-info {} 
        ^
./com/mmc/model/customer/package-info.java:7: error: = expected 
abstract interface package-info {} 
          ^
6 errors 

를 부착주고있다 JD-GUI 도구 그래서

를 사용 MMC.jar 아래의 모든 자바 클래스 파일을 수집 이 패키지 정보 자바 파일

package com.mmc.model.customer; 

import javax.xml.bind.annotation.XmlNsForm; 
import javax.xml.bind.annotation.XmlSchema; 

@XmlSchema(namespace="http://www.iflex.com/mmc/model/customer",  
elementFormDefault=XmlNsForm.QUALIFIED) 
abstract interface package-info {} 

감사의 내용입니다 알리

+6

[package-info.java 파일이 필요한 이유는 무엇입니까? package-info.java 클래스 파일의 용도는 무엇입니까?] (http://stackoverflow.com/questions/21940585/why-package-info-java-file-what-is-the-use-of-package-info -java-class-file) – sidgate

+0

package-info.java가 필요 없다고 생각합니다. 그냥 삭제하십시오 – sidgate

+0

@sidgate 좋은 mantra처럼 들리는데 : "package-info.java가 무엇인지 모를 경우에는 필요하지 않습니다." – GhostCat

답변

0

컴파일 오류가 발생하는 이유는 입니다. 패키지 정보은 식별자가 허용되지 않습니다. - 문자로 클래스, 인터페이스, 변수 등과 같은 객체의 이름을 지정할 수 없습니다. 자세한 내용은이 답변을 참조하십시오 Naming rules.

하지만 문제는 잘못된 방법으로 패키지 정보 파일을 사용한다는 것입니다. package-info.java 파일의 목적은 javadoc에 패키지의 간단한 설명을 추가하는 것입니다.이 패키지의 목적, 책임 및 내용. 여기에 클래스 나 인터페이스를 선언해서는 안됩니다. 이 파일에 쓰는 데 필요한 것은이 파일이있는 패키지 이름과 패키지 요약 javadoc뿐입니다. @sidgate 주석은 패키지 정보 파일 책임에 대한 좋은 대답을 나타냅니다.

관련 문제