我正在尝试使用Tycho创建一个P2存储库,用于扩展Eclipse环境的插件。当我尝试进行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文件。
答案 0 :(得分:2)
由eclipse-repository打包类型构建的p2存储库仅包含模块的category.xml
和*.product
文件的(传递)包含。 “传递包含”是这些文件中列出的所有内容,以及所包含功能中包含的所有内容。默认情况下,仅引用的工件(例如,在捆绑清单中)不包含。
因此,如果p2存储库包含太多工件,则不要包含工件或包含工件的功能。
如果您要构建必须包含不应进入p2存储库的某些内容的RCP,请将产品定义移到单独的eclipse-repository
模块中。
答案 1 :(得分: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>