1

에서 작업 넷빈즈 플랫폼 주석는 넷빈즈 플랫폼은 최근 같은 번들과 layer.xml 파일로 리소스 파일의 annotations-based 세대를 도입하기. (그 주석 작업) 넷빈즈에서 Maven을 기반 넷빈즈 플랫폼 프로젝트를 갖는 이클립스

는 쉽게 이클립스에 아주 같은 프로젝트를 가져올 수 있습니다.

그러나 프로젝트가 제대로 가져 오거나 (적어도 올바르게 수입 된 것 같습니다.) 필요한 라이브러리가 다운로드되는 등의 이유로 위에서 언급 한 주석은 Eclipse에서 실행되지 않습니다.

symptons 그 주석을 사용하는 클래스 수입 생성 된 클래스가 누락되었습니다.

예 :

위의 예에서 볼 수 있듯이
import org.netbeans.api.settings.ConvertAsProperties; 
import org.openide.awt.ActionID; 
import org.openide.awt.ActionReference; 
import org.openide.windows.TopComponent; 
import org.openide.util.NbBundle.Messages; 

/** 
* Top component which displays something. 
*/ 
@ConvertAsProperties(
    dtd = "-//org.something.ui//Exp//EN", 
autostore = false) 
@TopComponent.Description(
    preferredID = "ExpTopComponent", 
//iconBase="SET/PATH/TO/ICON/HERE", 
persistenceType = TopComponent.PERSISTENCE_ALWAYS) 
@TopComponent.Registration(mode = "output", openAtStartup = true) 
@ActionID(category = "Window", id = "ExpTopComponent") 
@ActionReference(path = "Menu/Window" /*, position = 333 */) 
@TopComponent.OpenActionRegistration(
    displayName = "#CTL_ExpAction", 
preferredID = "ExpTopComponent") 
@Messages({ 
    "CTL_ExpAction=Example", 
    "CTL_ExpTopComponent=Example Window", 
    "HINT_ExpTopComponent=This is a Example window" 
}) 
public final class ExpTopComponent extends TopComponent { 

    public ExpTopComponent() { 
    initComponents(); 
    setName(Bundle.CTL_ExpTopComponent()); 
    setToolTipText(Bundle.HINT_ExpTopComponent()); 
    putClientProperty(TopComponent.PROP_CLOSING_DISABLED, Boolean.TRUE); 

    } 

    private void initComponents() { 
    setLayout(new java.awt.BorderLayout()); 

    outlineView1 = new org.openide.explorer.view.OutlineView(); 
    add(outlineView1, java.awt.BorderLayout.CENTER); 
    } 

    private org.openide.explorer.view.OutlineView outlineView1; 
    @Override 
    public void componentOpened() { 
    // TODO add custom code on component opening 
    } 

    @Override 
    public void componentClosed() { 
    // TODO add custom code on component closing 
    } 

    void writeProperties(java.util.Properties p) { 
    p.setProperty("version", "1.0"); 
    // TODO store your settings 
    } 

    void readProperties(java.util.Properties p) { 
    String version = p.getProperty("version"); 
    // TODO read your settings according to their version 
    } 
} 

, 주석 extensivly 사용되지만 (자동으로 생성되어야하는) 때문에 번들의 다음 행에 있지 컴파일 가능한 결과 이클립스 처리되지없는 알려진 수업으로 인정 받았다.

setName(Bundle.CTL_ExpTopComponent()); 
    setToolTipText(Bundle.HINT_ExpTopComponent()); 

추가 정보 : 이클립스 사용

는 주노이며, 프로젝트 속성 주석 처리에 사용할 수 있습니다.

은 아무도 Eclipse에서이 작업을하는 방법에 대한 어떤 생각을 가지고 있습니까?

답변

0

넷빈즈 주석을위한 주석 처리기가 포함 된 라이브러리도 지정해야합니다. 이식형 주석 처리는 어쨌든 반 직관적 인 것처럼 보입니다. 가장 적합한

는 주석이 변경되었고, 당신이 갈 수 있습니다 때마다 간단한 받는다는 프로젝트 구축 실행하는 것입니다. 정말 답이 아니다

+0

; NbBundle.Messages 클래스는 org.openide.util 항아리 안에 있지만 주석 프로세서로 링크되어 있으면 작동하지 않는 것 같습니다 (적어도 나를위한 것은 아닙니다). 진정한 대답은 질문을 수정하는 방법을 보여주는 것이지 "오히려 그 질문에 답할 것" – Stephen