2

私はPythonでのプログラミングに慣れています。プロジェクトを作成するときはいつでも、通常、bin/さまざまなスクリプトが保存されているフォルダーがあります。たとえば、次のようになります。

  • ORMからデータベーススキーマを作成する
  • 他の何かに基づいて、いくつかのコード(css、javascriptなど)を生成する
  • 一部のデータをグラフィカルに視覚化するスクリプト

Scala(およびJava)でそのようなことを行うためのベストプラクティスは何ですか。カスタムMavenの目標、多分?

sbtタスクがあることを読みましたが、アプリ自体のコンパイル済みライブラリを使用することはできません。

更新:ビルドにアプリケーションコードを使用できないと表示されている場所は次のとおりです。sbtTask classpath

4

1 に答える 1

0

私は物事のJava側にいくつかの光を当てます。Mavenを使用している場合は、Mavenが生成できる単純なプロジェクトの原型から始めます。それはあなたのためにディレクトリ構造を作成し、あなたはそこに物事を追加し始めることができます。持っているbinスクリプトのディレクトリは完全に問題ありません。そうは言っても、SQLファイルを生成するのではなく、慣用的なJavaでスキーマを作成するようなことをしたいと思っています。私の意見では、それはより安全で長期的に持続可能なものです。たとえば、アノテーションを使用するHibernateは、Hibernateセッションを初期化するとすぐにDBを作成/更新するため、スキーマの生成やそのSQLファイルのvcsへのチェックインなどを行う必要がありません。 Mavenには、必要な処理を実行できるプラグインがたくさんあるので、それが優先ルートになります。そうでない場合は、いつでもMavenにbinディレクトリ内のスクリプトの1つを実行させることができます。

たとえば、私のAPIプロジェクトでは、サーブレットの初期化時にCassandraキースペースと列ファミリーを作成/更新します。このようにして、データストアが常に最新であることがわかります(全員がそのinitメソッドに変更/更新を追加する場合)。これにより、...「がらくたが機能しない」「...これは、列ファミリーが作成されていないためです...そのファイルをgitから取得します...しかし、そうではない可能性があります。最新の状態なので、CassandraGuyに最新のスキーマをエクスポートしてから、それをcassandraインスタンスにインポートするように依頼してください。」これですべての問題が解決するわけではありません。人々は依然として規律を守り、自分たちがどのような変化を遂げているかを考える必要があります。

于 2012-11-29T21:38:04.497 に答える