maven-ear-plugin,在 org.apache.maven.plugin.ear.EjbModule 类中找不到“版本”

Lem*_*981 1 java ear maven

Desperatley 尝试使用 Maven 3 的 Maven EAR 插件版本 2.10.1 创建包含某些模块的 EAR 捆绑包。generate-application-xml 目标存在问题,I\xc2\xb4m 收到错误:

\n\n

无法在项目 wineapp-ear 上执行目标 org.apache.maven.plugins:maven-ear-plugin:2.10.1:generate-application-xml (default-generate-application-xml):无法解析 mojo org 的配置。 apache.maven.plugins:maven-ear-plugin:2.10.1:generate-application-xml 参数版本: 在类 org.apache.maven.plugin.ear.EjbModule 中找不到 \'version\' -> [帮助 1 ]

\n\n

这是 pom.xml 片段:

\n\n
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\nxsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\n<modelVersion>4.0.0</modelVersion>\n\n<parent>\n    <artifactId>wineapp-parent</artifactId>\n    <groupId>com.jueggs</groupId>\n    <version>1.0.0</version>\n</parent>\n\n<artifactId>wineapp-ear</artifactId>\n<packaging>ear</packaging>\n<name>wineapp-ear</name>\n\n<dependencies>\n    <dependency>\n        <groupId>com.jueggs</groupId>\n        <artifactId>wineapp-ejb</artifactId>\n        <version>1.0.0</version>\n        <type>ejb</type>\n    </dependency>\n    <dependency>\n        <groupId>com.jueggs</groupId>\n        <artifactId>wineapp-web</artifactId>\n        <version>1.0.0</version>\n        <type>war</type>\n    </dependency>\n    <dependency>\n        <groupId>com.jueggs</groupId>\n        <artifactId>wineapp-jpa</artifactId>\n        <version>1.0.0</version>\n    </dependency>\n    <dependency>\n        <groupId>com.jueggs</groupId>\n        <artifactId>wineapp-common</artifactId>\n        <version>1.0.0</version>\n    </dependency>\n</dependencies>\n\n<build>\n    <plugins>\n        <plugin>\n            <groupId>org.apache.maven.plugins</groupId>\n            <artifactId>maven-ear-plugin</artifactId>\n            <version>2.10.1</version>\n            <configuration>\n                <!--<version>6</version>-->\n                <!--<applicationXml>/src/main/application/META-INF/</applicationXml>-->\n                <modules>\n                    <ejbModule>\n                        <groupId>com.jueggs</groupId>\n                        <artifactId>wineapp-ejb</artifactId>\n                        <version>1.0.0</version>\n                        <bundleFileName>ejb.jar</bundleFileName>\n                    </ejbModule>\n                    <webModule>\n                        <groupId>com.jueggs</groupId>\n                        <artifactId>wineapp-web</artifactId>\n                        <version>1.0.0</version>\n                        <bundleFileName>web.war</bundleFileName>\n                    </webModule>\n                    <jarModule>\n                        <groupId>com.jueggs</groupId>\n                        <artifactId>wineapp-common</artifactId>\n                        <version>1.0.0</version>\n                        <bundleDir>lib</bundleDir>\n                        <bundleFileName>common.jar</bundleFileName>\n                    </jarModule>\n                    <jarModule>\n                        <groupId>com.jueggs</groupId>\n                        <artifactId>wineapp-jpa</artifactId>\n                        <version>1.0.0</version>\n                        <bundleDir>lib</bundleDir>\n                        <bundleFileName>jpa.jar</bundleFileName>\n                    </jarModule>\n                </modules>\n            </configuration>\n        </plugin>\n    </plugins>\n</build>\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n

这里有什么问题吗?或者只是 xml 中的一个 f.. 拼写错误?在配置元素内部,IDE 的自动标签检测(这个词怎么读..)也不起作用,但我将它与示例进行了近千次比较。不知道\xc2\xb4t知道错误查找还有什么重要的,\xc2\xb4s还有一个父pom

\n

msz*_*ach 5

模块没有版本标签,请参阅modules。该版本已由依赖博客定义,模块博客仅用于重命名ear文件中的工件(因为您定义了新的bundleFileName)。因此,尝试删除模块中的所有版本标签,如下所示:

           <modules>
                <ejbModule>
                    <groupId>com.jueggs</groupId>
                    <artifactId>wineapp-ejb</artifactId>
                    <bundleFileName>ejb.jar</bundleFileName>
                </ejbModule>
                <webModule>
                    <groupId>com.jueggs</groupId>
                    <artifactId>wineapp-web</artifactId>
                    <bundleFileName>web.war</bundleFileName>
                </webModule>
                <jarModule>
                    <groupId>com.jueggs</groupId>
                    <artifactId>wineapp-common</artifactId>
                    <bundleDir>lib</bundleDir>
                    <bundleFileName>common.jar</bundleFileName>
                </jarModule>
                <jarModule>
                    <groupId>com.jueggs</groupId>
                    <artifactId>wineapp-jpa</artifactId>
                    <bundleDir>lib</bundleDir>
                    <bundleFileName>jpa.jar</bundleFileName>
                </jarModule>
            </modules>
Run Code Online (Sandbox Code Playgroud)

或者最好删除完整的模块博客,因为我认为重命名 Ear 中的依赖项对您来说并不重要,并且使用 Maven 默认名称就可以了。