2

我习惯用 Python 编程。每当我创建一个项目时,通常都会有一个bin/文件夹,其中保存着各种脚本,例如:

  • 从 ORM 创建数据库模式
  • 基于其他东西生成一些代码(css、javascript等)
  • 以图形方式可视化某些数据的脚本

在 Scala(和 Java)中做这类事情的最佳实践是什么。自定义 Maven 目标,也许?

我读过,有 sbt 任务,但他们不能使用应用程序本身的编译库。

更新:这是一个地方,它说我不能使用应用程序代码进行构建:sbt Task classpath

4

1 回答 1

0

我将对事物的Java方面进行一些说明。如果您使用的是 Maven,请从 Maven 可以生成的简单项目原型开始。它将为您创建目录结构,您可以开始在其中添加内容。有一个bin脚本目录非常好。也就是说,我仍然更喜欢在惯用的 Java 中创建模式,而不是生成一些 SQL 文件。在我看来,从长远来看,它更安全、更可持续。例如,Hibernate 使用注释,将在您初始化休眠会话后立即为您创建数据库/更新它,这样您就不必为生成模式和将该 sql 文件签入到您的 vcs 等而烦恼。 Maven 确实有很多插件可以做你想做的事情,所以这将是首选路线。如果他们不这样做,您总是可以让 Maven 在bin目录中执行您的脚本之一。

例如,在我的 API 项目中,我在 servlet 初始化时创建/更新我的 Cassandra 键空间和列族。这样,您就知道您的数据存储将始终是最新的(假设每个人都将他们的更改/更新添加到该 init 方法)。这消除了所有杂耍......“废话它不起作用”“......哦,那是因为你没有创建列族......从我们的git获取那个文件......但它可能不是是最新的,所以请 CassandraGuy 为您导出最新的架构,然后将其导入您的 cassandra 实例”这并不能解决所有问题。人们仍然需要自律并思考他们正在做出哪些改变。

于 2012-11-29T21:38:04.497 回答