在通过tycho构建时,Lib文件夹与eclipse插件jar一起打包

时间:2017-11-21 06:44:35

标签: maven eclipse-plugin tycho p2

我正在尝试使用maven的tycho-compiler-plugin构建eclipse插件。 我已经解决了许多来自p2 repo的捆绑依赖项。我有一些jar依赖项,它们出现在manifest.mf -

中的bundle-classpath中
  Bundle-ClassPath: .,
    lib/test1.jar,
    lib/test2.jar

这些罐子存在于lib文件夹中,该文件夹存在于根级别,即存在pom的地方。

POM文件看起来像 -

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>com.test.plugin</artifactId>  
    <version>0.0.0</version>
    <packaging>eclipse-plugin</packaging>

    <repositories>
      <repository>
         <id>Mars</id>
         <layout>p2</layout>
         <url>file:///E:/repo/eclipseRepo/</url>
      </repository>
   </repositories>
   <build>
      <directory>../../../../target</directory>
      <sourceDirectory>src</sourceDirectory>
      <plugins>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-maven-plugin</artifactId>
            <version>0.25.0</version>
            <extensions>true</extensions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-compiler-plugin</artifactId>
            <version>0.25.0</version>
        </plugin>
        <plugin>
           <groupId>org.eclipse.tycho</groupId>
           <artifactId>tycho-packaging-plugin</artifactId>
           <version>0.25.0</version>
           <configuration>
              <buildDirectory>../../../../plugin</buildDirectory>
           </configuration>
        </plugin>
     </plugins>
  </build>
</project>

现在ti正确构建了eclipse插件,但在打包时它还包含lib文件夹。附带的jar截图 - Google Scholar 我想从jar中排除这个lib文件夹。我已经尝试在tycho-packaging-jar插件中进行配置以排除它。但不行。如何排除它?

1 个答案:

答案 0 :(得分:1)

在当前项目的基本目录之外使用<directory><buildDirectory>看起来相当不标准。实际上,我从来没有必要明确配置其中任何一个 - 或<sourceDirectory>。这就是build.properties文件的用途,这是在Eclipse PDE和Tycho中配置这些内容的默认方式。

从屏幕截图看,似乎没有build.properties个文件。我建议您通过its properties而不是通过POM元素配置各个位置。 this example的某些内容,其中bin.includesbin.excludes处理您的JAR内容。