Datanucleus Maven插件

xyb*_*rek 8 eclipse maven

如何使用Eclipse maven项目解决此问题:

插件执行未包括生命周期配置:org.datanucleus:行家-DataNucleus将-插件:3.1.0-M3:增强(执行:默认值,相:编译)的pom.xml/DatanucleusJPA线218 Maven项目构建生命周期映射问题

这可以用Eclipse M2 Eclipse插件修复吗?

mic*_*ico 1

前言:

我想这根本不是Datanucleus特有的,而是Eclipse Maven 插件的一个功能如果在命令行(Linux) 或 Cygwin [1] (Windows)上运行,您所尝试的所有方法显然都有效。这里的问题是 Eclipse m2 插件需要更多信息才能正常工作并发挥其技巧,这就是问题所在,这就是您问的原因。

可能的解决方案:

正如评论中已经指出的那样,每个细节都可以从[2] M2E 站点的给定链接中找到,并且要点出现在有关同一问题的一个问题[3]的一个答案中。我从其中一个答案中摘录了这个片段:

<action>
    <execute />
</action>
Run Code Online (Sandbox Code Playgroud)

这些行应该没问题,添加到<plugin-executions>项目元素内的最后一个元素内pom.xml。我不是魔术师,我只能使用 Google,所以如果没有给出问题中的代码/pom 内容,我建议您遵循 Datanucleus 自己的说明[4]并有类似的内容:

<plugins>
    <plugin>
        <groupId>org.datanucleus</groupId>
        <artifactId>maven-datanucleus-plugin</artifactId>
        <version>3.1.0-m3</version>
        <configuration>
            <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
            <verbose>true</verbose>
        </configuration>
        <executions>
            <execution>
                <phase>process-classes</phase>
                <goals>
                    <goal>enhance</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)

..好吧,它就在那里<executions>,但把它放在那里。

边注:

有趣的是,当我使用谷歌搜索问题时,这个问题已经被我投票了,我选择的答案是不同的,看起来像这样:

<build>
    <pluginManagement>
        <plugins>
             <plugin> ... </plugin>
             <plugin> ... </plugin>
              ....
         </plugins>
    </pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)

..诀窍是将该<pluginmanagement>部分添加到 xml 中。我只记得从 SVN 获取了我的项目的新副本,之后我就不再使用这个技巧了。也许这个问题已经很老了,或者我公司里有人犯了这个把戏。无论如何,也值得测试。

回答问题:

不,不是直接使用插件,而是调整pom.xml文件。

我的资料来源:

[1] http://cygwin.com - 在 Windows 上运行 Linux 命令。
[2] http://wiki.eclipse.org/M2E_plugin_execution_not_covered - 在评论中建议
[3]如何解决 Spring Data Maven 构建的“生命周期配置未涵盖插件执行” - 包括引用行