【问题标题】:Pom packaged parent module containing Maven Tycho eclipse plugin project as a sub-modulePom 打包父模块,包含 Maven Tycho eclipse 插件项目作为子模块
【发布时间】:2014-10-20 17:54:06
【问题描述】:

大致项目结构如下:

父模块

<groupId>groupId</groupId>
<artifactId>Module-Parent</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Parent Project</name>

<modules>
    <module>Module1</module>
    <module>Module2</module>
    <module>PluginModule3</module>
</modules>

<properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
</properties>

PluginProject pom.xml
<parent> <groupId>groupId</groupId> <artifactId>Module-Parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>

<modelVersion>4.0.0</modelVersion>
<artifactId>PluginProject</artifactId>
<name>Plugin Project</name>
<packaging>eclipse-plugin</packaging> 

<dependencies>
    <dependency>
        <groupId>Module2groupID</groupId>
        <artifactId>module2</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>

// 包含第谷依赖项

现在由于父模块和子模块的包装不同。我无法使用 eclipse 在我的代码中引用父类,并且也不考虑 maven 依赖项/库。但是,我能够分别使用 maven 和 Tycho 成功构建所有模块(如果我不引用父项目中的任何类)。

在子模块 pom.xml 中添加 eclipse-pluginentry 后,所有与 Maven 相关的库都会自行从插件项目的构建路径中删除。

请帮助我如何解决我的插件项目中的父类引用。

【问题讨论】:

  • pom 模块中的 Java 类?这应该如何工作?
  • 另外,您的 POM 提取没有多大意义 - 您可能应该编辑问题并添加更大的、语法上有效的 POM sn-ps。
  • 所有模块基本上都是java项目。 Module2 被添加为插件项目中的依赖项。无法通过 Eclipse 在插件项目中访问模块 2 的类。并且 Pom 提取更新为实际的 pom。
  • 这不是一个措辞恰当的问题,因为它不够简洁。说你的反应堆中有jareclipse-plugin 模块就足够了,并且你不能在eclipse-plugin 模块中引用来自jar 模块的类。

标签: eclipse maven plugins tycho


【解决方案1】:

OSGi 不支持从捆绑包到非捆绑包库的引用。

因此,如果您想在构建中重用来自其他模块的类,它们也需要是 OSGi 包,并且您需要在 OSGi 包清单中设置适当的导出和导入。

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2018-07-11
    • 1970-01-01
    • 2015-11-15
    • 2013-02-23
    相关资源
    最近更新 更多