如何在maven中制作自定义ear文件

时间:2010-05-13 16:58:20

标签: maven-2 maven

这是我的挑战,我需要为特定容器制作一个ear文件。更具体地说明如何创建这种耳朵:

  1. 这是一个标准的j2ee ear文件,其中包含1个WAR。
  2. 它部署的容器将需要某些xml文件(可以在源项目中轻松找到(某处))。
  3. 这是我的障碍

    1. 源文件夹包含各种特定于容器的xml文件。但是,这些文件不会直接映射到容器在EAR文件中所需的位置。例如,此容器应该有一个文件在'EARFILE.ear / config / connections.xml'中。但是这个文件位于/ some / obscure / unrelated /目录中(在源中)。这是约5-7个文件的情况。
    2. 我根本无法更改原始源项目布局。
    3. 那么,我该如何创建我需要的兼容EAR文件。对于我正在使用的容器,目前没有插件,我当然看了。

      更新

      原始布局适用于JDeveloper:

      .adf
        /META-INF/
          (some xml files to map to various locations in the EAR)
      Model
      ViewController
          public_html
      src/
        META-INF/
          (some xml files to map to various locations in the EAR)
      

1 个答案:

答案 0 :(得分:3)

  

这是一个标准的j2ee ear文件,其中包含1个WAR。它部署到的容器将需要某些xml文件(可以在源项目中轻松找到(某处))。

正如我在this previous answer中告诉你的那样,带有战争和耳朵模块的maven项目的典型布局如下所示:

. 
|-- ear
|   |-- src
|   |   `-- main
|   |       `-- application
|   |           |-- META-INF
|   |           |   `-- application.xml
|   |           `-- config
|   |               `-- connections.xml
|   `-- pom.xml
|-- web
|   +-- src
|   `-- pom.xml
`-- pom.xml

${basedir}/src/main/application目录下的文件将包含在EAR中(这是earSourceDirectory参数的默认值)。

  

源文件夹包含各种特定于容器的xml文件。但是,这些文件不会直接映射到容器在EAR文件中所需的位置。 (...)

对不起但是......什么源文件夹?可能可以使用Maven AntRun plugin将一些文件从另一个位置复制到耳朵项目,但是1.这将非常混乱,而且2.如果没有更多细节,则无法提供更多指导。

  

我根本无法更改原始源项目布局。

看起来像什么?你真的需要提供更多细节(如果你不能改变任何东西,那么对这个项目进行整理可能并不容易,特别是如果你是maven的新手)。