无头PDE构建成功但没有文件

3
我已经为Eclipse创建了一个视图插件。我可以从项目中导出jar文件,并且它的工作效果非常好。我正在尝试创建一个Ant构建脚本来自动化它。
我通过以下步骤从Eclipse中创建了两个Ant构建脚本:
  1. 右键单击该项目,选择导出,Ant构建文件。
  2. 在插件的导出向导中,我选择了“另存为ant脚本”选项。
第一个脚本相当长,包含init目标、build目标等。第二个脚本只有以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<project default="plugin_export" name="build">
    <target name="plugin_export">
        <pde.exportPlugins destination="C:\newPlugin" exportSource="false" exportType="directory" plugins="myplugin" useJARFormat="false"/>
    </target>
</project>

我尝试通过命令行运行它们:

java -jar c:\eclipse\plugins\org.eclipse.equinox.launcher_*.jar -application org.eclipse.ant.core.antRunner -data C:\newPlugin -buildfile build_plugin.xml

如果我运行长时间的ant构建,它会在bin目录下创建obj文件。这很好,但我想要插件的jar文件。我猜第二个应该是做这个的。然而,即使构建成功,我也看不到任何jar文件。

这是ant脚本输出:

Apache Ant(TM) version 1.8.2 compiled on December 20 2010
Buildfile: build_plugin.xml
parsing buildfile C:\newPlugin\build_plugin.xml with URI = file:/C:/newPlugin/build_plugin.xml
Project base dir set to: C:\newPlugin
Build sequence for target(s) `plugin_export' is [plugin_export]
Complete build sequence is [plugin_export, ]

plugin_export:
parsing buildfile jar:file:/C:/eclipse/plugins/org.apache.ant_1.8.2.v20110505-1300/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/C:/eclipse/plugins/org.apache.ant_1.8.2.v20110505-1300/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
BUILD SUCCESSFUL

BUILD SUCCESSFUL
Total time: 2 seconds
1个回答

3
您的运行看起来是正确的。当我按照相同步骤操作时:
<project default="plugin_export" name="build">
        <target name="plugin_export">
                <pde.exportPlugins destination="/opt/pwebster/workspaces/deploymentTest" exportSource="false" exportType="directory" plugins="org.eclipse.core.expressions" qualifier="v201112061450" useJARFormat="true"/>
        </target>
</project>

然后运行它:

bash$ eclipse/eclipse -noSplash \
-application org.eclipse.ant.core.antRunner 
-data /opt/pwebster/workspaces/build38x/ \
-buildfile build_file.xml

我在输出目录中得到了deploymentTest/plugins/org.eclipse.core.expressions_3.4.300.v201112061450.jar

注意:您的目标应该是工作空间之外的一个目录,并且您应该使用-data将您的工作空间传递给调用。


这很奇怪但也很有前途。即使我创建了一个虚拟项目并且运行了命令行,还是没有得到任何东西。我在eclipse上漏掉了什么吗? 我使用 Eclipse SDK 4.1.0版本。我将尝试进行全新的安装并再次尝试。如果您有任何其他想法,我很乐意听取。 - Halil
保罗,那可能是当你尝试获取build.xml时eclipse创建的插件吗?我刚在家里的电脑上尝试了同样的虚拟项目(下载了最新的Java和Eclipse),但没有成功。我仍然无法进行无头构建。那可能是一个错误吗? - Halil
你是否在工作区和部署目录中使用不同的目录?你是否在-data中传递了包含项目的工作区? - Paul Webster
哦,我一直都给出了项目路径,而不是工作区路径。现在它可以工作了。非常感谢! - Halil
如果我只想构建插件,那么必须提供带有数据的工作区对我来说并不实用。有没有不指定工作区的方法可以做到这一点? - Markus
PDE 只能在工作区的上下文中构建插件(可以编译该插件)。如果您想在不涉及 PDE 的情况下构建一些插件/功能,请查看 http://www.eclipse.org/tycho/,它与 maven 一起使用。 - Paul Webster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接