Java条件编译:如何防止编译代码块?

我的项目需要Java 1.6进行编译和运行。 现在我有一个要求,使其与Java 1.5(从市场方面)的工作。 我想要replace方法体(返回types和参数保持不变),使其与Java 1.5编译没有错误。 详细信息:我有一个实用工具类称为OS封装所有操作系统特定的东西。 它有一个方法 public static void openFile(java.io.File file) throws java.io.IOException { // open the file using java.awt.Desktop … } 双击打开文件( start Windows命令或open Mac OS X命令等效项)。 由于无法使用Java 1.5进行编译,因此我希望在编译过程run32dll其排除,并用另一种方法replace为Windows调用run32dll或使用Runtime.exec open Mac OS X。 问:我该怎么做? 注释可以帮助吗? 注意:我使用ant,并且可以创build两个java文件OS4J5.java和OS4J6.java ,它们将包含OS类与Java 1.5和1.6所需的代码,并将其中一个复制到OS.java编译之前(或丑陋方式 – 取决于java版本有条件地取代OS.java的内容),但我不想这样做,如果有另一种方式。 详细阐述:在CI中可以使用ifdef, ifndef ,在Python中没有编译,我可以使用hasattr或其他东西来检查一个特性,在Common Lisp中我可以使用#+feature 。 有什么类似的Java? 发现这篇文章,但它似乎没有帮助。 任何帮助是极大的赞赏。 KH。

在gvim中显示空白字符

有没有一种简单的方法来显示gvim等空白字符,如空格和制表符? 就像在Gedit,Geany,Komodo和其他GUI编辑器中实现的那样(当选项打开时)空格显示为一个静音或灰色的'。 和标签为' – >'。

Ruby:初始化()vs类体?

在Ruby中,将代码放入initialize()方法而不是直接放在类体中有什么区别? 在调用MyClass.new时,两者似乎都被执行。 显然, initialize()可以接受参数,但这是唯一的区别吗? class MyClass puts 'Hello' def initialize(params) puts 'World' end end

如何从Python中的文件读取数字?

我想从文件读取数字到二维数组。 文件内容: 包含w,h的行 包含用空格分隔的整数的h行 例如: 4 3 1 2 3 4 2 3 4 5 6 7 8 9

使用RspectestingRails 3.1可挂载引擎

我开始制作一个Rails 3.1引擎,而且我很难用rspec来testing它。 首先,如果我运行rails g integration_test whatever它在testing/集成中创build常规集成testing而不是spec / requests(rspec-rails gem作为gemspec文件中的开发依赖项安装和需要) 此外,当我运行一个规范testing时,我得到一个错误,说与我正在testing的模型对应的表尚未创build。 我尝试了rake engine_name:install:migrations并运行rake db:migrate从虚拟应用程序内部rake db:migrate ,并得到“表已存在”错误。 一切似乎都是断开的,我觉得我错过了一些东西,使得rspec gem无缝地工作,就像通常使用完整的rails应用程序一样。 我跟着从这里http://rubyx.com/2011/03/01/start-your-engines的所有更改,我可以通过控制台启动虚拟应用程序手动testing引擎,如下所示http:// railscasts。 com / episodes / 277-mountable-engines 。 有没有办法让RSpectestingrails 3.1引擎的默认值?

Python,希望logging日志的旋转和压缩

任何人都可以在python中提出一个方法来做日志logging: 日志轮转每天 压缩日志时,他们旋转 可选 – 删除最旧的日志文件以保留X MB的可用空间 可选 – sftp日志文件到服务器 感谢任何回应,弗雷德

Clojure如何工作?

我想了解什么^:const在clojure中做的。 这是开发者文档所说的。 http://dev.clojure.org/display/doc/1.3 (def常量{:pi 3.14:e 2.71}) (def ^:const pi(:pi常量))(def ^:const e(:e常量)) 查找的开销:在映射中的e和:pi在编译时发生,因为(:pi常量)和(:e常量)在评估它们的父级forms时被评估。 这是令人困惑的,因为元数据是用于绑定到符号pi的var,而绑定到符号e的var,但下面的语句表示它有助于加速地图查找,而不是var查找。 有人可以解释一下^:const在做什么以及使用它的原理吗? 这与使用巨let块或像(pi)和(e)这样的macros比较起来如何?

epoll边缘触发选项的目的是什么?

从epoll的手册页: epoll is a variant of poll(2) that can be used either as an edge-triggered or a level-triggered interface 什么时候使用边缘触发选项? 手册页给出了一个使用它的例子,但我不明白为什么在这个例子中是必要的。

学习scala的小型和好的scala项目 – 尤其是函数式编程和types系统

我已经学习了几个月的Scala,但仍然在初学者水平。 现在我发现我在函数式编程和scala的types系统方面遇到了很大的麻烦。 我试图find一些文件和博客,但我不明白其中的大部分(尤其是types系统的)。 所以我正在寻找一些小的,很好的Scala项目,我可以阅读来源学习。 你能推荐我一些吗?

在MySQL中找不到由outfile创build的文件

我正在使用以下查询来创build一个CSV文件 SELECT email INTO OUTFILE "mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM users; 但是我无法findmydata.csv文件,当我通过filezillasearch。 任何想法这个文件被储存? 查询成功运行,没有任何错误! 任何帮助?