Jay*_*Jay 4 java eclipse ide eclipse-plugin
我已经设法让IDE通过修改config.ini来正确编译java项目,但是IDE本身仍然显示有关处理器语句的错误:
//#ifdef VER_X
public class Video extends FirstCanvas {
//#else
public class Video extends SecondCanvas {
//#endif
...
Run Code Online (Sandbox Code Playgroud)
是否有设置或插件可以解决这个问题?
编辑:也许有点澄清:我正在寻找能使IDE编辑器更符合代码的东西.它不会让我遵循任何定义,因为编辑器认为是错误.
Dan*_*OMS 15
在java中永远不需要(也不建议)使用预处理器.最好配置Subversion(或您最喜欢的源代码管理器)来获取每个应用程序独有的各种java文件的正确版本,并引用平台中立桥类(扩展通过subversion引入的正确平台类)直接从多个平台共享的全局类引用特定于平台的类.但是,有时需要使用java预处理器,因为它广泛用于预先存在的代码,这些代码正在被重新利用.(例如,制作现有Blackberry应用程序的新Android版本.)如果您发现自己处于这种情况,那么这里是如何在Eclipse内部的Java代码中使用预处理器:
安装Antenna插件:
确保您已经保存了您在Eclipse中工作的所有内容.
转到Eclipse顶部菜单中的"帮助",然后单击"安装新软件..."选项.
单击"添加..."按钮.
将"Antenna"放入"Name:"编辑框,在"Location:"编辑框中输入" http://antenna.sf.net/update ",然后单击"确定"按钮.
展开"Uncategorized"插件组,选中"Antenna eclipse插件"(版本1.1.8)的复选框,然后单击"下一步"按钮上的"单击".
单击"完成"按钮.
如果弹出安全警告,则单击"确定"按钮.
确保关闭已运行的Eclipse的任何其他实例,然后单击"是"按钮以重新启动此Eclipse实例.
将该项目标记为Antenna可处理的:
如果需要,创建项目.
右键单击该项目.
如果弹出菜单旁边没有复选标记,则单击弹出菜单上大约四分之三的"天线预处理器"选项.
确保Antenna使用的device.xml文件位于正确的文件夹中.
这是一个示例device.xml文件:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<devices>
<device supportsPolishGui="true">
<capability name="android" value="true" />
<capability name="sqlite" value="true" />
<identifier>Android</identifier>
<features>isVirtual</features>
<groups>XT</groups>
</device>
</devices>
Run Code Online (Sandbox Code Playgroud)
对于Android,这是'"project"/ resources',对于Blackberry,这是''project"/ res'.(Android只需要"project"/ res文件夹中的Android特定文件.)
为项目设置天线:
单击选择项目.
转到项目 - >属性 - >天线预处理器.
如果弹出警告,告诉您无法找到该设备,请单击"确定"按钮.
单击"设备数据库的可选目录"的"清除"按钮.组合框如果不为空.(即使已经显示正确的目录,也必须这样做).
单击"浏览"按钮,然后选择device.xml所在的文件夹.(对于Android,这是'"project"/ resources',对于Blackberry,这是''project"/ res'.)
如果"设备名称"组合框不为空,请单击"清除"按钮.(即使正在显示正确的设备,也必须这样做.)
单击"搜索"按钮并选择设备.(对于Android,这是'Android',对于Blackberry,这是'Black Berry'.)
单击"确定"按钮.
现在,天线将通过项目中的所有文件和注释('// @')或取消注释预处理器命令所包含的代码(必须以'//#'开头),具体取决于device.xml文件中的设置.
注意:这可能导致全局包中的java文件被标记为与Subversion不同步.如果其他人上传了他们的更改,那么这可能会导致Subversion出现问题,然后通过Subversion从头部获得更改.如果由于天线而将全局java文件标记为与Subversion不同步,则通常最好立即为您计划稍后更改的任何文件提交这些更改.
在项目的初始设置之后使用天线: 在此天线之后,任何时候更改并保存项目中的文件将注释('// @')或取消注释由预处理器命令包含的代码(必须以'//#'开头),具体取决于device.xml文件中的设置作为保存过程的一部分.
注意:必须删除Blackberry预处理的java文件第一行的// #preprocess语句,因为Antenna必须用于所有java文件而不是Blackberry预处理器.
注意:如果更改了device.xml文件,则必须为每个使用device.xml的项目设置Antenna,如上所述,以使更改生效.
Antenna使用的预处理器命令和选项在这里解释: http ://antenna.sourceforge.net/wtkpreprocess.php
归档时间: |
|
查看次数: |
7222 次 |
最近记录: |