Maven - 与JavaME,JavaSE和Android模块共享多模块项目的记录器

时间:2012-03-26 12:20:42

标签: java android maven logging java-me

简介:

我的任务是使用JavaME和Android模块创建一个多模块项目(我为其选择了Maven)。更具体地说:我正在为手机创建应用程序而我的老板不得不让我用共享的公共代码创建一个项目(顺便说一下:我认为他在JavaME和Android之间共享代码时施加了太大的压力 - 这两个基于Java语言并没有' t意味着在它们之间共享代码很容易。)

问题:

我有三个模块:

  • common - 这是针对JavaSE 1.1编写的,因此它不需要模拟器来测试它,而且JavaME也可以使用该模块,
  • jme - 这是针对JavaME 2编写的,
  • android - 这是(尚未)针对Android编写的,

我希望有三个不同的记录器,每个模块一个,共享公共接口,公共模块的记录器可能是另外两个记录器的基础(类)。公共类应使用与包含它们的模块相同的记录器或第三版记录器,以便分别编译和测试该公共模块。

问题:

如何配置Maven,以便在编译时可以包含不同版本的logger类。测试不同的模块?或许你有不同的提议?

更新

现在我拥有自己的JavaME记录器,它使用RecordStore来存储日志,并且可以轻松地检索指定的连续日志范围,将它们转换为JSON,HTML和文本,然后通过电子邮件批量发送。此外,它定期从RecordStore中删除旧记录。我想保留这样的功能,即。检索和转换日志记录的简便方法。

1 个答案:

答案 0 :(得分:1)

对于测试,您只需使用适当的src / test / resources文件夹将日志系统的配置放入您的pom中,就可以在不同的区域中定义不同的日志系统

   +-- pom.xml
        +--- common (pom.xml)
        +--- jme (pom.xml)
        +--- android (pom.xml)

你可以在共​​同(pom.xml)中定义一个不同于jme(pom.xml)的日志系统作为依赖(scope:test)。 我不确定这是否会对您有所帮助,但slf4j已解决了不同日志框架的问题。