Как предоставить директивы препроцессора в Java
Как я могу правильно предоставить следующее функционально из C# в Java?
[C#]
#define PRODUCTION //Change from sandbox to production to switch between both systems.
#if SANDBOX
using NetSuite.com.netsuite.sandbox.webservices;
#endif
#if PRODUCTION
using NetSuite.com.netsuite.webservices;
#endif
3 ответов
Java не имеет препроцессора - поэтому простой ответ заключается в том, что вы не можете.
такого рода вещи обычно обрабатываются в Java с помощью инъекции зависимостей , которая является более мощной и более гибкой.
http://www.vogella.com/articles/DependencyInjection/article.html
Java не имеет препроцессора, но это не означает, что вы не можете запустить Java-код через cpp
- хотя это не будет поддерживаться никакими инструментами, AFAIK.
используйте инъекцию зависимостей / инверсию управления. В зависимости от ваших фактических потребностей вы можете уйти с чем-то простым, как файл свойств/переменные среды для управления вещами.
вы можете использовать статические определения вокруг некоторые типы инициализации/код.