Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven Tycho在导出RCP方面优于Eclipse PDE工具_Java_Maven_Eclipse Plugin_Eclipse Rcp_Tycho - Fatal编程技术网

Java Maven Tycho在导出RCP方面优于Eclipse PDE工具

Java Maven Tycho在导出RCP方面优于Eclipse PDE工具,java,maven,eclipse-plugin,eclipse-rcp,tycho,Java,Maven,Eclipse Plugin,Eclipse Rcp,Tycho,鉴于最近关于JavaFX和导出EclipseRCP应用程序的一些问题,我正在考虑放弃EclipsePDE导出器,转而使用Tycho构建 哪种方法更简单,哪种方法过于复杂?我是否需要不断调整Tycho构建配置 当前项目已经在使用ant脚本构建核心EAR。是否应该与Maven一起构建以保持一致 我知道Maven和Eclipse插件之间存在一些问题。有什么重要的事情我应该担心吗 我正处于繁重的研发模式 同样,我不认为这是基于意见的,而是一个要求强有力的论据来支持这两种观点的话题。 < P>我不会说其中

鉴于最近关于JavaFX和导出EclipseRCP应用程序的一些问题,我正在考虑放弃EclipsePDE导出器,转而使用Tycho构建

  • 哪种方法更简单,哪种方法过于复杂?我是否需要不断调整Tycho构建配置

  • 当前项目已经在使用ant脚本构建核心EAR。是否应该与Maven一起构建以保持一致

  • 我知道Maven和Eclipse插件之间存在一些问题。有什么重要的事情我应该担心吗

  • 我正处于繁重的研发模式


    同样,我不认为这是基于意见的,而是一个要求强有力的论据来支持这两种观点的话题。

    < P>我不会说其中一个比另一个简单得多。大多数情况下,Tycho是首选,因为Maven实际上是构建的行业标准。因此,专业技能更为常见。这还允许您像使用Maven的任何其他应用程序一样构建RCP产品

    在Maven/Tycho中,pom.xml和OSGi清单都包含依赖项信息,因此有一些冗余。我们的想法是让这些文件中的一个成为主版本。若您选择OSGi文件作为主文件,那个么产生的方法首先被称为清单。否则,您将首先使用POM

    我首先使用清单,插件的POM文件如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <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/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <parent>
          <groupId>aerie-sdk</groupId>
          <artifactId>aerie-sdk</artifactId>
          <version>3.0.5-SNAPSHOT</version>
          <relativePath>../pom.xml</relativePath>
       </parent>
       <groupId>aerie-sdk</groupId>
       <artifactId>com.example.aerie.ui</artifactId>
       <version>2.5.5-SNAPSHOT</version>
       <packaging>eclipse-plugin</packaging>
    </project>
    
    
    4.0.0
    aerie sdk
    aerie sdk
    3.0.5-快照
    ../pom.xml
    aerie sdk
    com.example.aerie.ui
    2.5.5-快照
    eclipse插件
    
    我只需要将POM文件中的版本与清单文件中的版本进行匹配

    答复:

  • 我想说你更熟悉的那个更简单。如果您是Maven新手,但对PDE构建有一定经验,那么Maven就更难了。对于Maven POM,首先需要经常调整POM文件。如果您首先选择manifest,那么POM就不会经常修改(而且更改更简单,主要是版本更改)

  • 您可以从Maven运行Ant,无需转换

  • 不是真的。如果您遇到任何问题,Eclipse社区论坛、stackoverflow或类似站点上会有大量信息


  • 我不确定你的比较是否有意义。EclipsePDE导出器是一个交互式工具,因此不能用于自动构建。因此,如果你需要一个自动构建,你将不得不转移到其他地方,例如泰科

    Tycho是一个Maven构建扩展,其目的是为使用EclipsePDE开发的项目轻松设置自动构建。它重新使用您已有的配置文件(MANIFEST.MF、feature.xml、*.product),因此Tycho所需的额外配置文件(pom.xml)非常少,很少需要更新


    pom.xml文件中唯一冗余的信息是工件版本。为了支持您更新工件版本,有一个命令行工具:.

    我完全不清楚您在第3点中的意思是什么?这部分问题肯定不符合SO问题的标准……仅供参考,您可以使用“无头”Eclipse使用Eclipse PDE执行自动化构建。它不是完全由用户界面驱动的,同样的过程也可以从由属性文件驱动的命令行中获得。如果感兴趣,请搜索eclipse PDE构建帮助“定制无头构建”。