Ing*_*ngo 5 java eclipse ant encoding eclipse-plugin
我写了一个很好的插件,它包含了一些生成的java源代码.
我可以很好地建立项目.我可以在运行配置中运行它,启动另一个eclipse,它可以根据自己的喜好运行.
所以我想:时间让它可以安装.
因此,我创建了一个功能项目和一个更新站点项目,并构建和导出它,看起来它工作正常.我甚至可以从我的更新站点"安装"它,或直接在正在运行的工作台中导出插件.我看到它已安装但如果我尝试打开一个会激活我的插件的文件,它会抛出异常.具体来说,它告诉我有"未解决的编译问题".
经过长时间的搜索,重建(没有错误),一次又一次地重新测试我找到一个logs.zip
文件,其目录的名称类似于我的插件,其中有54k文件(请注意,它是2011年,磁盘空间非常稀缺,显然)有趣的名字@dot.log
.看这样的文件一定是多么绝望?!但是,令人惊讶的是,它出现了54k错误消息,如下所示:
# 02.12.11 19:58:55 MEZ
# Eclipse Compiler for Java(TM) 0.B76_R37x, 3.7.1, Copyright IBM Corp 2000, 2011. All rights reserved.
----------
1. ERROR in X:\dev\frege\FregIDE\src\frege\IO.java (at line 1451)
final public static Consts ij = new Consts();
^
Syntax error on token "Invalid Character", delete this token
Run Code Online (Sandbox Code Playgroud)
当然,"无效字符"是完全合法的java标识符字符,只是它们不是ASCII字母.这就是为什么我设置为UTF-8的所有文件,都设置UTF-8作为默认编码,以及在此之前表示,与普通身材它完美的作品.
当我导出更新站点,功能或插件时,有没有办法阻止eclipse重新编译所有内容.这是我最喜欢的,因为一切都已编译,重新编译需要一分钟左右.(甚至还有一个标志"使用在工作区中编译的类文件."但它似乎什么都不做 - 它只是重新编译.)
替代方案:我可以以某种方式修改它用于构建它的脚本吗?我找不到他用来构建的蚂蚁脚本.如果我可以查找javac步骤并将编码UTF-8放在那里(这就是我期望的问题.)有一个"另存为Ant脚本"复选框,但Ant文件只包含:
<?xml version="1.0" encoding="UTF-8"?>
<project default="feature_export" name="build">
<target name="feature_export">
<pde.exportFeatures destination="x:\dev\frege\FregeUpdateSite"
exportSource="false" exportType="directory"
features="FregeFeature" useJARFormat="true"/>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
如果我不能阻止它编译,我如何让eclipse使用编译版本的正确设置?
如果您使用"pde.exportFeatures"任务从工作区导出,那么我相信有一个属性"useWorkspaceCompiledClasses"来使用工作区中的二进制文件.这相当于导出向导中的复选框.
请注意,pde.exportFeatures任务是从UI导出的,与无头PDE/Build不同.弗朗西斯所指的属性是无头PDE/Build.在导出期间,PDE/UI会为您管理这些内容,您无法更改它们.
该插件和功能的特定属性会影响UI出口以及无头版本.(我在弗朗西斯回答的评论中得到的链接不正确).
我建议在插件的build.properties文件中设置编码,而不是重用工作区二进制文件.我还建议设置一个真正的PDE/Build无头构建,而不是从UI任务导出.
您可以使用作为PDE构建的一部分的build.properties文件来为在构建中完成的编译设置编译器选项:http://help.eclipse.org/indigo/topic/org.eclipse.pde.doc. user/reference/pde_builder_config.htm(使用-encoding选项)
我不知道在构建中使用工作区中的类文件.
归档时间: |
|
查看次数: |
3286 次 |
最近记录: |