2

Eclipse 環境を拡張するプラグインに Tycho を使用して P2 リポジトリを作成しようとしています。mvn インストールを実行しようとすると、作成された zip ファイルに含まれたくない org.eclipse のプラグインが追加されます。

依存関係を含まないようにプラグインを既に定義しています (デフォルトは既に false でしたが)

  <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <configuration>
                  <includeAllDependencies>false</includeAllDependencies>
          </configuration>
  </plugin>

現時点では、少なくとも 48MB の zip ファイルが作成されます。

4

2 に答える 2

3

eclipse-repository パッケージ タイプによって構築された p2 リポジトリには、モジュールcategory.xml*.productファイルの (推移的な) インクルージョンのみが含まれます。「推移的包含」とは、これらのファイルにリストされているすべてのもの、および含まれている機能に含まれているすべてのものです。デフォルトでは、参照されるだけのアーティファクト (バンドル マニフェストなど) は含まれません

したがって、p2 リポジトリに含まれるアーティファクトが多すぎる場合は、単にアーティファクトまたはアーティファクトを含む機能を含めないでください。

p2 リポジトリに入れるべきではない特定のものを含める必要がある RCP を構築する場合は、製品定義を別のeclipse-repositoryモジュールに移動します。

于 2013-02-20T11:21:44.580 に答える
0

これを試して

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <id>prepare-feature-distribution</id>
                    <phase>package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <mkdir
                                dir="${basedir}/target/${project.parent.artifactId}/${feature.version}" />
                            <!-- Copy core and targetPlatform jars -->
                            <copy
                                todir="${basedir}/target/${project.parent.artifactId}/${feature.version}">
                                <fileset dir="${basedir}/target/repository/plugins">
                                    <exclude name="ch.qos.logback.slf4j*.jar" />
                                    <exclude name="javax.xml.bind*.jar" />
                                    <exclude name="org.apache.xerces*.jar" />
                                    <exclude name="org.apache.xml.resolver*.jar" />
                                    <exclude name="org.apache.xml.serializer*.jar" />
                                    <exclude name="org.eclipse.equinox.common*.jar" />
                                    <exclude name="org.eclipse.equinox.ds*.jar" />
                                    <exclude name="org.eclipse.equinox.launcher.win32.win32.x86*.jar" />
                                    <exclude name="org.eclipse.equinox.launcher*.jar" />
                                    <exclude name="org.eclipse.equinox.util*.jar" />
                                    <exclude name="org.eclipse.net4j.jms.api*.jar" />
                                    <exclude name="org.eclipse.osgi.services*.jar" />
                                    <exclude name="org.eclipse.osgi*.jar" />
                                </fileset>
                            </copy>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>
于 2013-03-16T00:19:23.797 に答える