2012-12-14 83 views
1

您可以幫助我使用NetBeans IDE設置ImageJ插件開發嗎? 我嘗試了現有的項目,但有兩個問題: - Java Free form porject:我無法在此項目中附加onvif.xsd。我試圖這個教程:tutorial但在netbeans 7.2.1我不能做到這一點:「轉到生成>編譯」(您的插件的名稱)「」ImageJ插件開發和NetBeans IDE

請給我指教!

回答

1

我使用Maven在NetBeans中開發ImageJ插件。我將演示如何創建和調試一個簡單的插件。

您可以通過創建一個新的Maven項目File->New Project->Maven->Java Application並創建一個簡單的插件類開始:

package cz.cuni.lf1.imagejstubproject; 
import ij.IJ; 
import ij.plugin.PlugIn; 
public class Hello implements PlugIn { 
    public void run(String arg) { 
    IJ.showMessage("My_Plugin", "Hello world!"); 
    } 
} 

現在,創建文件夾中的src/main /資源plugins.config文件的內容:

Plugins, "Hello World!", cz.cuni.lf1.imagejstubproject.Hello 

第一個String是插件將出現的菜單文件夾,第二個是菜單標籤,第三個是點擊菜單項時要運行的類的完整類名。

下一步是向ij.jar添加一個依賴項,其中包含ImageJ類。這可以通過編輯pom.xml文件和添加來完成:

<project> 
    ... 
    <build> 
    ... 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>gov.nih.imagej</groupId> 
     <artifactId>imagej</artifactId> 
     <version>1.45</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 
</project> 

在構建過程中Maven會自動從互聯網上下載所需的庫。它還可以下載源代碼和JavaDoc。

ImageJ要求最終jar的名稱包含下劃線,所以我們相應地設置文件名。更改pom.xml以包含如下內容:

<project> 
... 
    <build> 
    <finalName>${project.artifactId}_${project.version}</finalName> 
    ... 
    </build> 
    ... 
</project> 

這就是您需要構建ImageJ插件的全部內容。如果你編譯它並將jar複製到ImageJ插件目錄中,你應該在ImageJ插件菜單中看到你的插件。如果你不想在Netbeans中調試你的插件,你可以在這裏停下來。

當我在Netbeans中編譯它時,我喜歡將新jar複製到ImageJ插件文件​​夾中,以便快速嘗試。你甚至不必重新啓動ImageJ來運行你的新插件。只需在ImageJ中單擊幫助 - >刷新菜單即可重新加載插件。複製插件到comile的ImageJ的文件夾,編輯pom.xml中包含:

<project> 
    ... 
    <properties> 
    <imagej.path>c:\Program Files (x86)\ImageJ</imagej.path> 
    </properties> 
    <build> 
    <finalName>${project.artifactId}_${project.version}</finalName> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>copytoplugins</id> 
      <phase>install</phase> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      <configuration> 
       <tasks> 
       <copy todir="${imagej.path}/plugins/" file="target/${project.build.finalName}.jar"/> 
       </tasks> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
    ... 
</project> 

和編輯imagej.path屬性指向您的ImageJ的安裝文件夾(不是插件文件夾)。現在你的插件應該被複制到每個版本的插件文件夾中。

爲了能夠調試通過NetBeans插件添加到您的pom.xml:

<project> 
    ... 
    <build> 
    <finalName>${project.artifactId}_${project.version}</finalName> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.2</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <executable>java</executable> 
      <commandlineArgs>-jar  -agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address} "${imagej.path}/ij.jar" </commandlineArgs> 
      <workingDirectory>${imagej.path}</workingDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 

,然後右鍵單擊您的項目並選擇屬性。在操作選項卡編輯調試項目採取行動,這一點:

  • 執行目標:process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec
  • 啓動配置文件:
  • 設置屬性:jpda.listen=true

現在,當您單擊調試項目在NetBeans的ImageJ應該運行,你應該能夠調試你的插件。

你可以下載這個樣本插件here