使用Maven创建EAR
我想用Maven创建一个EAR,但是因为我在一个纯Tycho的世界里,我不能使用使用Maven创建EAR,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我想用Maven创建一个EAR,但是因为我在一个纯Tycho的世界里,我不能使用Maven EAR插件,只能使用Maven汇编插件(这很好) 甚至就在这个网站上,也有人指出,maven汇编插件可以构建EAR,尽管网站上说不可以 但是,当我使用以下方式定义EAR格式时: <formats> <format>ear</format> </formats> 它可以很好地创建EAR,但是对于mvn安装它会带来以下异常: [错误]未能执行目标org
Maven EAR插件
,只能使用Maven汇编插件
(这很好)
甚至就在这个网站上,也有人指出,maven汇编插件
可以构建EAR,尽管网站上说不可以
但是,当我使用以下方式定义EAR格式时:
<formats>
<format>ear</format>
</formats>
它可以很好地创建EAR,但是对于mvn安装
它会带来以下异常:
[错误]未能执行目标org.apache.maven.plugins:maven安装插件:2.5.2:install(默认安装)on project org.acme.application:未能安装工件组:org.acme.application:jar:1.9.126-SNAPSHOT:C:\workspace\application\target\application.jar(Das系统kann die angegebene Datei nicht finden)->[帮助1]
(这是德语中“找不到文件”的意思,总有一天我会让他打印出可读的错误消息。)
当然,现在我可以将JAR复制到EAR,而不只是重命名它,但我想我首先得到了第二个机会:是否可以使用
maven汇编插件创建EAR
?如果是,如何使用?使用包装类型ear
并定义jar上ear模块中的依赖项,这也适用于OSGi…除此之外,制作一个具有2-3模块(OSGi)的简单示例项目,将其放在Github上,以便我们可以查看它…@khmarbaise我不能使用那种包装类型,因为EAR是由一个特性的内容构建的(打包类型是eclipsefeature
)。我知道,但是您可以在EAR配置中将生成的jar文件添加为jar模块…@khmarbaise Nope,因为这需要一个Maven依赖性。我只能从其他项目的目标/文件夹中复制文件。
<plugin>
<groupId>com.coderplus.maven.plugins</groupId>
<artifactId>copy-rename-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>rename-ear</id>
<phase>verify</phase>
<goals>
<goal>rename</goal>
</goals>
<configuration>
<sourceFile>${basedir}/target/${earName}.jar</sourceFile>
<destinationFile>${basedir}/target/${earName}.ear</destinationFile>
</configuration>
</execution>
</executions>
</plugin>