Maven 2 使用maven建模项目之间的XML依赖关系

Maven 2 使用maven建模项目之间的XML依赖关系,maven-2,Maven 2,我正在构建一个由两个项目组成的应用程序:common和theApp。 现在,app依赖于common(使用依赖项建模)。我面临的棘手问题是: common/src/main/env中有XML文件,在应用程序运行时需要这些文件 为了让事情变得更有趣,run的发行版将具有以下结构: bin/-有脚本 lib/-由theApp和common dependencies/-具有应用程序所依赖的库jar config/-具有来自app和common 我已经完成了,只是我还在寻找一种方法,在app的POM

我正在构建一个由两个项目组成的应用程序:
common
theApp
。 现在,
app
依赖于
common
(使用
依赖项建模)。我面临的棘手问题是:

common/src/main/env
中有XML文件,在应用程序运行时需要这些文件

为了让事情变得更有趣,run的发行版将具有以下结构:

  • bin/
    -有脚本
  • lib/
    -由
    theApp
    common
  • dependencies/
    -具有应用程序所依赖的库jar
  • config/
    -具有来自
    app
    common
我已经完成了,只是我还在寻找一种方法,在app的POM中编写一个maven目标,可以将
common的XML文件放入
config/

有什么想法吗

谢谢,
您将需要maven程序集和依赖插件。在common/src/main/resources/assemblies/config.xml中创建一个程序集描述符,如下所示:

<assembly>
   <id>config</id>
   <formats>
      <format>zip</format>
   </formats>
   <fileSets>
      <fileSet>
         <directory>${basedir}/src/main/env</directory>
         <outputDirectory>/</outputDirectory>
      </fileSet>
   </fileSets>
   <dependencySets>
      <dependencySet>
         <useProjectArtifact>false</useProjectArtifact>
         <useTransitiveDependencies>true</useTransitiveDependencies>
         <outputDirectory>config/</outputDirectory>
      </dependencySet>
   </dependencySets>
</assembly>

<build>
  <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
           <descriptorRefs>
              <descriptorRef>config</descriptorRef>
           </descriptorRefs>
        </configuration>
        <executions>
           <execution>
              <phase>package</phase>
              <goals>
                 <goal>attached</goal>
              </goals>
           </execution>
        </executions>
        <dependencies>
           <dependency>
              <groupId>my.groupid</groupId>
              <artifactId>common</artifactId>
              <version>my.version</version>
           </dependency>
        </dependencies>
     </plugin>
  </plugins>
</build>
 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
      <execution>
        <id>unpack-dependencies</id>
        <phase>package</phase>
        <goals>
            <goal>unpack</goal>
        </goals>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>my.groupid</groupId>
              <artifactId>common</artifactId>
              <version>my.version</version>
              <type>zip</type>
              <overWrite>true</overWrite>
              <includes>*</includes>
              <outputDirectory>${project.build.directory}/config</outputDirectory>
            </artifactItem>
          </artifactItems>
        </configuration>
      </execution>
    </executions>
  </plugin>