我使用maven开发了一个小的java实用程序库。现在,我想添加一些演示/示例代码来展示如何使用该库。
放在哪里的最佳位置?
在包含其他代码的子包中。我不喜欢这样,因为这意味着演示将包含在库jar文件中。
在一个新的maven神器中。这是有效的,但我希望让演示更紧密地连接到图书馆来源。
作为子工件。 Haven还没试过这个。似乎使一切都变得有点复杂,应该很简单。
有没有共同的模式可以做到这一点?
答案 0 :(得分:5)
如果它是一些自己运行的示例代码片段,只是演示了如何使用该库,那么将它们作为单元测试写在同一个模块中。
如果它更像是一个单独的演示应用程序(用户甚至可能与之交互),则创建一个单独的工件。这是标准的方式。如果你真的想要你可以将它放在同一个模块中,但是在不同的源目录中,但这只会让你自己变得更难。
你的图书馆和你的演示应该共享一个父模块(类型为“pom”,而不是像其他人一样“jar”),给你一个multi-module project。然后你可以通过从这个父模块启动maven来构建它们。
如果你想一起发布你的图书馆和演示(你可以,但你没有),你也可以从父母那里做到。
换句话说,这不是因为它们是单独的模块,打包在不同的工件中,它们不再是紧密连接。多模块项目的不同模块仍然形成一个整体项目。
答案 1 :(得分:2)
你还没有编写它是什么样的实用程序库,但是如果它类似于apache commons,那么大多数演示都可以写成JUnit测试,它们放在同一个工件中。设计良好的JUnit测试既可以测试代码,也可以提供如何使用实用程序的示例。
答案 2 :(得分:1)
我更喜欢新的maven神器,它可以让你自己的神器干净
答案 3 :(得分:1)
我建议创建一个maven多模块项目,其中一个模块是核心,一个模块是演示代码。这样,用户可以选择是否要创建两个模块(它们成为单独的工件),或者是否只是想要核心。