felix.xml的目的是什么?

时间:2012-01-26 15:18:20

标签: java osgi apache-felix

在一些由Maven构建并与OSGi和OSGi Container Felix相关的项目中,有一个名为felix.xml的文件。这个文件有什么用?

其内容大多如下:

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
 <id>all</id>
  <formats>
    <format>zip</format>
  </formats>
  <dependencySets>
    <dependencySet>
        <useProjectArtifact>false</useProjectArtifact>
        <outputDirectory>modules</outputDirectory>
        <excludes>
          <exclude>org.apache.felix:org.apache.felix.main</exclude>
        </excludes>
    </dependencySet>
  </dependencySets>
  <files>
    <file>
      <source>${project.build.directory}/${project.build.finalName}.jar</source>
      <outputDirectory>modules</outputDirectory>
    </file>
    <file>
      <source>${project.build.directory}/felix.jar</source>
      <outputDirectory>bin</outputDirectory>
    </file>
    <file>
      <source>${project.build.directory}/config.properties</source>
      <outputDirectory>conf</outputDirectory>
    </file>
  </files>
</assembly>

实施例: https://www.assembla.com/code/appdapter/subversion/nodes/trunk/maven/Appdapter_OSGi/src/main/assembly/felix.xml?rev=32

https://trac.neo4j.org/browser/laboratory/users/akollegger/neo4j-osgi-hello-cmd/src/main/assembly/felix.xml?rev=7595

1 个答案:

答案 0 :(得分:2)

知道了。创建新的OSGi-Bundle项目时,NetBeans会创建felix.xml。需要此文件才能使OSGi包在Apache Felix中运行。 因此,如果不需要运行OSGi包,则可以节省删除文件。