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

标签 java android maven logging java-me

简介:

我的任务是创建一个包含 JavaME 和 Android 模块的多模块项目(为此我选择了 Maven)。更具体地说:我正在为手机创建应用程序,而我的老板要求我创建一个具有共享通用代码的项目(顺便说一句:我认为他对 JavaME 和 Android 之间的代码共享施加了太大的压力——这两个基于 Java 语言的不这并不意味着它们之间共享代码很容易)。

问题:

我有三个模块:

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

我想要三个不同的记录器,每个模块一个,它们共享公共(public)接口(interface),并且公共(public)模块的记录器可能是其他两个记录器的基(类)。通用类应该使用与包含它们的模块相同的记录器或第三版本的记录器,以便单独编译和测试该通用模块。

问题:

如何配置 Maven 使其在编译和测试不同模块时包含不同版本的记录器类?或者您有不同的建议?

更新:

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

最佳答案

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

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

并且您可以在 common (pom.xml) 中定义与 jme (pom.xml) 不同的日志系统作为依赖项(范围:测试)。 我不确定这是否对您有帮助,但不同日志记录框架的问题已由 slf4j 解决。 .

关于java - Maven - 与 JavaME、JavaSE 和 Android 模块共享多模块项目的记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871991/

相关文章:

java - 如何在评级栏中设置 float 类型x.5?

java - 将文件上传到网络服务(java)

java - 知道谁锁定了对象

java - 选择正确的软件包以与新的 Kurento 版本一起使用

java - Glassfish + mod_proxy_ajp 下载被截断

android - 以编程方式将按钮添加到布局

android - 没有收到完整的 JSON

java - Junit 运行肯定失败

maven - JHipster 配置 Maven 包装代理

java - findbugs-maven-plugin 项目与 JDK 1.6 1.7 和 1.8 一起工作