私がやっているscalaプロジェクトがありsbt publish
ます。それは私にいくつかのアーティファクトを与えます:
/maven/repo/com/davez0r/proj_2.10/vers/proj_2.10-vers.jar
/maven/repo/com/davez0r/proj_2.10/vers/proj_2.10-vers.pom
...others...
今、そのjar内でクラスを実行したい:
$ mvn -f /maven/repo/com/davez0r/proj_2.10/vers/ exec:java
-Dexec.mainClass="com.davez0r.App"
これは機能しません:
java.io.FileNotFoundException: /maven/repo/com/davez0r/proj_2.10/vers/pom.xml
わかりました。生成さmvn
れたpom
ファイルを指定できます。sbt
$ mvn -f /maven/repo/com/davez0r/proj_2.10/vers/proj_2.10-vers.pom exec:java
-Dexec.mainClass="com.davez0r.App"
これで依存関係が見つかりましたが、jar
次の場所が見つかりませんpom
:
java.lang.ClassNotFoundException: com.davez0r.App
このアーティファクトのセットのみが依存する別のプロジェクトを作成できますが、それは不要なようです。これの詳細を回答として投稿します。
経由でリポジトリから直接実行する方法はありますmvn
か? で何かが正しく設定されていpom
ませんか?
<project>
<modelVersion>4.0</modelVersion>
<groupId>com.davez0r</groupId>
<artifactId>proj_2.10</artifactId>
<packaging>jar</packaging>
<description>proj</description>
<version>vers</version>
<name>proj</name>
<organization>
<name>com.davez0r</name>
</organization>
<dependencies>...</dependencies>
</project>
ありがとう!