我刚刚开始使用第谷,而且我在早期阶段被难住了。也许我误解了一些东西,所以以防万一,这就是我所期待的:我以 OSGi 风格(即在MANIFEST.MF
via中Import-Package
)定义我的捆绑包的需求,并且 Tycho 以某种方式即时使用该信息而不是我需要重新定义它以 Maven 风格(即我不必将依赖项放在 pom.xml 中)。
所以,我做了一个简单的 Maven 项目,在 Eclipse 中使用 m2eclipse 插件、m2eclipse-tycho 插件和 PDE 插件,并将以下 Tycho 的东西放在 pom 中:
<properties>
<tycho-version>0.15.0</tycho-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
挣扎通过一些古怪的配置错误,最后得到了一个基本上空的项目(即没有源代码),在 Eclipse 中没有给出任何错误或警告。然后我从另一个项目中复制了我的源代码,并且(如预期的那样)由于缺少依赖项而出现了一堆编译器错误。第一个是来自 org.jboss.netty.channel 的 AbstractChannel。我使用 Netty 的 3.5.1.Final 版本,所以我编辑了我的 MANIFEST.MF 以包括:
Import-Package: org.jboss.netty.channel;version="[3.5.1,4)"
然后我期待 Tycho 能神奇地发现我需要 Netty,因此就好像我在我的 Maven pom.xml 中插入了以下内容:
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<version>3.5.1.Final</version>
</dependency>
取而代之的是,我在 Eclipse 中遇到了一个额外的错误,说:
Unsatisfied constraint: 'Import-Package: org.jboss.netty.channel;version="[3.5.1,4.0.0)"
我不知道从这里去哪里。我对第谷应该做什么有一些基本的误解吗?还是我必须设置其他东西才能使其能够将条目“神奇”转换Import-Package
为MANIFEST.MF
pom.xml<dependency>
条目?或者是其他东西?
提前致谢。