首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intellij IDEA中的Java预处理支持

Intellij IDEA中的Java预处理支持
EN

Stack Overflow用户
提问于 2010-12-30 02:44:07
回答 3查看 2K关注 0票数 2

有人知道Intellij IDEA对Java预处理的支持吗?可能有一些第三方插件?

举个例子:这里有一段为Netbeans编写的Java代码(支持预处理):

代码语言:javascript
复制
//#if JSR82
//# import javax.bluetooth.*;
//#endif

Netbeans内置预处理器根据定义的预处理器键解析那些//#键和注释或取消注释代码片段。

我希望在Intellij IDEA中也会有类似的东西。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-30 03:14:04

(这对于评论来说太长了,因此答案并不是真正的答案,而更像是一个评论)。

我在Java预处理器和IntelliJ IDEA方面有丰富的经验。我不知道有什么插件/插件可以与预处理器一起工作(但那会很棒)。

除此之外,当讨论到Java和预处理器时,人们总是会指出“这样的东西并不存在”。

当然,其中有几个是存在的。例如,这里有一篇很酷的诺基亚(你可能听说过该公司,他们生产一些Java手机)的文章:"Java ME移植使用预处理器指令“。

事实是: Java从来没有兑现它的WORA承诺,特别是在J(2)ME世界中。

http://wiki.forum.nokia.com/index.php/Java_ME_Porting_using_preprocessor_directives

使用自定义(遗憾的是自定义)预处理器和代码生成器的另一个非常有效的原因可以在(出色的) Trove API源代码中看到:基本上这是避免对所有Java原语重复相同代码的唯一方法,等等。

我还听说人们想要生成“相同”.jar的不同版本,而不是将所有代码放在生成的各种.jars中。当然,这可以用一种"Java友好的方式“来完成,使用惊人的变通方法……但在这种情况下,一些预处理也可以节省时间。

要点是:对于Java预处理器,有效的情况。我倾向于喜欢诺基亚one,因为它很难反驳;)

票数 6
EN

Stack Overflow用户

发布于 2010-12-30 03:45:02

您可能需要考虑为库的不同版本配置不同的artifacts,然后重新构建代码,以便将特定于版本的代码隔离在仅包含在相关构件中的子类/组件中。这可能是不切实际的,特别是在现有的项目中,但比编写插件麻烦更少。Maven通过分类器具有类似的功能。

票数 3
EN

Stack Overflow用户

发布于 2010-12-30 02:51:03

Java程序员通常不像C/C++那样使用预处理器。其他的技术和系统已经被开发出来了,比如注解,代码生成等等。也许如果你让我们知道你正在尝试解决什么问题,有人会知道有一种java友好的方式来帮助你。

编辑:我认为大家的共识是您正在考虑编写一个IntelliJ插件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4556864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档