2016-11-02 6 views
0

"Maven Helper"と同じようにintellijプラグインを開発したいと思います。私はいくつかのビジネスロジックを行う前に "MavenProject"オブジェクトを取得する必要があります。しかし、MavenProjectsManagerがnullであることがわかりました(私はMavenプロジェクトで使用しています)。誰かが私にこのことについてのdevのガイドを与えることができますか?ありがとう!intellijプラグインを開発するときにMavenActionUtil.getMavenProject(e.getDataContext())はNullです

public void actionPerformed(AnActionEvent e) { 
    Project project = e.getData(PlatformDataKeys.PROJECT); 
    VirtualFile file = e.getData(PlatformDataKeys.VIRTUAL_FILE); 

    if (file == null || project == null) { 
     return; 
    } 
    String fileName = file.getName(); 

    if (!fileName.endsWith(POM_XML)) { 
     return; 
    } 

    final MavenProjectsManager projectsManager = MavenProjectsManager.getInstance(project); 
} 

答えて

0

あなたのIntelliJ IDEAのSDKのクラスパスにしていない独立したライブラリとしてMavenプラグインのjarファイルを追加したことを確認してください。後者を実行すると、Mavenプラグインクラスの2つのコピーがロードされ、あなたが記述している問題につながります。

+0

ありがとうございます!私はあなたの助けを借りてこれを解決しました。プラグインで "MavenProject"や他の "Maven"情報を取得したい場合は、2つのことを行う必要があります。 - Intellij IDEA SDKに "maven.jar"と "maven-server-api.jar"を追加します。 - addは、 " org.jetbrains.idea.maven"をplugin.xmlに依存します。 私はそう思いますか? – David

+0

はい、これは正しいです – yole

関連する問題