gpt4 book ai didi

java - IntelliJ 中的共享内容根(跨模块共享源)

转载 作者:行者123 更新时间:2023-12-01 05:19:42 24 4
gpt4 key购买 nike

也许我的方法是错误的,但这就是我想要的:

  • 一个日志库,纯JAVA编写
  • 它应该也适用于 Android
  • 我想在 Android 和桌面应用中使用它

我尝试的方法取自 VS 和 C#,在那里它被称为“多目标”——它基本上意味着一个模块与另一个模块共享源代码。

所以我的想法是创建 4 个模块:

  • Android应用程序
  • Android日志
  • 桌面应用
  • 桌面日志

日志记录内容(大多数与纯 Android 兼容的 JAVA 类)的“实际工作”将进入 AndroidLog(以防止我意外使用 Android SDK 中没有的类)。

Android应用程序可以毫无问题地使用日志库,这就是我目前的做法。现在,DesktopLog 应该具有 AndroidLog 所具有的一些文件夹,基本上重用了相同的 JAVA 代码。

我尝试将 AndroidLog 中的源文件夹添加到 DesktopLog,但收到一条错误消息,告诉我“根目录已属于...”。我正在使用 SVN,但我认为这不是这里的问题(实际上,我在没有 SVN 的情况下尝试了上述操作,但如果没有更简单的解决方案,它可能会提供一些解决方法)。

那么我如何让 IntelliJ :
在具有不同目标平台的不同模块之间共享JAVA文件。

感谢您的提示,克里斯

PS:也欢迎搜索团队“共享源JAVA”对谷歌不太友好。

最佳答案

嗯。我认为你处理这个问题的方式是错误的。我会这样组织它:

  1. Common-Log - 一个常见的 Java 包,包含 DesktopLog 和 AndroidLog 使用的类
  2. DesktopLog,依赖于 Common-Log
  3. AndroidLog,依赖于 Common-Log
  4. 桌面应用
  5. Android应用程序

尝试在不同的子项目中同时引用单个项目的部分源代码树听起来很令人头疼;我认为,如果您遵循将公共(public)支持类从两个日志记录项目提取到单独的公共(public)项目的方法,您会更幸运。

关于java - IntelliJ 中的共享内容根(跨模块共享源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com