Java 编译 - 有没有办法告诉编译器忽略我的部分代码?

标签 java swing compilation

我维护一个 Java Swing 应用程序。

为了向后兼容 java 5(适用于 Apple 机器),我们维护两个代码库,一个使用 Java 6 的功能,另一个不使用这些功能。

除了 3-4 个使用 Java 6 特性的类外,代码基本相同。

我希望只维护 1 个代码库。在编译期间是否有办法让 Java 5 编译器“忽略”我的代码的某些部分?

我不想简单地注释/取消注释我的代码部分,这取决于我的 java 编译器的版本。

最佳答案

关于使用自定义类加载器和动态注释代码的建议在维护和保持理智方面有点令人难以置信,无论哪个可怜的灵魂在你洗牌到新牧场后接手该项目。

解决方法很简单。将受影响的类拉出到两个单独的、独立的项目中——确保包名称相同,然后编译成 jar,然后你可以在你的主项目中使用它们。如果您保持包名称相同,并且方法签名相同,没问题 - 只需将您需要的任何版本的 jar 放入部署脚本中即可。我会假设您运行单独的构建脚本或在同一脚本中有单独的目标 - ant 和 maven 都可以轻松处理有条件地抓取文件并复制它们。

关于Java 编译 - 有没有办法告诉编译器忽略我的部分代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74171/

相关文章:

java - 如何使用 Java 和 Hibernate 按特定列对 MySQL 查询进行排序?

vb.net - 如何在没有 Visual Studio 的情况下在 vb.net 中添加引用?

java - 在 selenium 中输入 iframe

java - 使用 Unix Socket 的 JDBC MySQL 连接

java - 如何从文件夹中获取最后保存的项目的名称?

java - 如何根据从其他线程中长时间运行的任务收到的​​通知更新 JTable?

php - 使用嵌入在 Windows 7 上的 MySQLi 编译 PHP

unix - Automake:AM_CFLAGS 无效

java - 在 Spring Boot 中使用 Google OAuth2 时无法访问 OAuth2AuthenticationToken

java - 如何在 GUI 中查看 CSS/HTML?