2011-07-28 14 views
2

私はJBoss(特に5.1.0.GA)に依存するプロジェクトを持っていて、SBTを使ってこのプロジェクトを設定しようとしていました。 「このプロジェクトはJBossバージョンXとそれに関係するすべてのものに依存している」という言い方があるのか​​、それともすべての依存関係を個別に宣言しているのだろうと私は疑問に思っていました。私は、SBTがプロジェクトをコンパイルするのに必要なすべての適切な依存関係をダウンロードすることを望んでいます。SBTのjbossへの依存関係を宣言するにはどうすればよいですか?

私は従属管理にはかなり新しいので、どんな方向にも感謝します。私はSBT(Ivyを使用しています)を使用してこれを実行しようとしていますが、mavenの例も歓迎しています。

答えて

2

すべての依存関係を手動で宣言する必要があります。すべての依存関係を含むスーパーポッドはありません。

これは、ほとんどの場合、場合によっては必要なものを見つけ出すことが難しいため、非常に扱いにくいものです。

良いスタートは、すべてのlibを取ることです。これはjboss_home/libの下にもあり、そこで減少し始めます。

独自のリポジトリプロキシ(artifactoryやarchivaなど)を持っている場合は、そのようなスーパーPOMを作成できます。

これは私自身のリポジトリからのもので、開始に役立つ可能性があります。しかし、これは決して公式ではなく、私のニーズに適合しています。

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="http://www.jayasoft.fr/org/ivyrep/ivy-doc.xsl"?> 
<ivy-module version="1.0"> 
    <info 
     organisation="jboss" 
     module="jboss" 
     revision="5.1.0" 
     status="release" 
     publication="20110801120000"/> 
    <configurations> 
      <conf name="compile" visibility="public" /> 
      <conf name="client" visibility="public" extends="compile,mail,activation, aop"/> 
      <conf name="server" visibility="public" extends="compile,servlet,jmx"/> 
      <conf name="hibernate" visibility="public" /> 
      <conf name="activation" visibility="public" /> 
      <conf name="mail" visibility="public" /> 
      <conf name="servlet" visibility="public" /> 
      <conf name="jmx" visibility="public" /> 
        <conf name="jmx-client" visibility="public" extends="client,jmx"/> 
      <conf name="aop" visibility="public" /> 
      <conf name="javaee" visibility="public" /> 
      <conf name="ant" visibility="public" /> 
     <conf name="logging" visibility="public" /> 
    </configurations> 
    <publications> 
    <!-- from jbossall-client readme.txt --> 
      <artifact name="commons-logging"  type="jar" conf="client"/> 
     <artifact name="concurrent"  type="jar" conf="client"/> 
     <artifact name="ejb3-persistence"  type="jar" conf="client"/> 
     <artifact name="jboss-aop-client"  type="jar" conf="client"/> 
     <artifact name="jboss-appclient"  type="jar" conf="client"/> 
     <artifact name="jboss-aspect-jdk50-client"  type="jar" conf="client"/> 
     <artifact name="jboss-client"  type="jar" conf="client,ant"/> 
     <artifact name="jboss-common-core"  type="jar" conf="client,ant"/> 
     <artifact name="jboss-ejb3-common-client"  type="jar" conf="client"/> 
     <artifact name="jboss-ejb3-core-client"  type="jar" conf="client"/> 
     <artifact name="jboss-ejb3-proxy-impl-client"  type="jar" conf="client"/> 
     <artifact name="jboss-ejb3-proxy-spi-client"  type="jar" conf="client"/> 
     <artifact name="jboss-ejb3-security-client"  type="jar" conf="client"/> 
     <artifact name="jboss-j2se"  type="jar" conf="client"/> 
     <artifact name="jboss-javaee"  type="jar" conf="client,javaee,ant"/> 
     <artifact name="jboss-logging-log4j"  type="jar" conf="client"/> 
     <artifact name="jboss-logging-spi"  type="jar" conf="client,ant"/> 
     <artifact name="jboss-messaging-client"  type="jar" conf="client"/> 
     <artifact name="jboss-remoting"  type="jar" conf="client"/> 
     <artifact name="jboss-security-spi"  type="jar" conf="client,ant"/> 
     <artifact name="jboss-serialization"  type="jar" conf="client,ant"/> 
     <artifact name="jboss-system-client"  type="jar" conf="client"/> 
     <artifact name="jboss-system-jmx-client"  type="jar" conf="client"/> 
     <artifact name="jbosssx-as-client"  type="jar" conf="client,ant"/> 
     <artifact name="jbosssx-client"  type="jar" conf="client,ant"/> 
     <artifact name="jmx-client"  type="jar" conf="client,ant"/> 
     <artifact name="jnp-client"  type="jar" conf="client"/> 
     <artifact name="jboss-mdr"  type="jar" conf="client"/> 
     <!--END from jbossall-client readme.txt --> 
     <!-- additional client-libs --> 
     <artifact name="jbosscache-core"  type="jar" conf="client"/> 
     <artifact name="trove"  type="jar" conf="client"/> 
     <artifact name="javassist"  type="jar" conf="client,hibernate"/> 
     <!-- END additional client-libs --> 
     <artifact name="activation"   type="jar" conf="activation"/> 
     <artifact name="mail"    type="jar" conf="mail"/> 
     <artifact name="jboss-javaee"  type="jar" conf="compile"/> 
     <artifact name="jboss-j2se"   type="jar" conf="compile"/> 
     <artifact name="jboss-system-jmx"  type="jar" conf="compile,jmx"/> 
     <artifact name="jbosscache-core"  type="jar" conf="compile"/> 
     <artifact name="jboss-remoting"   type="jar" conf="compile,ant"/> 
     <artifact name="jboss-kernel"  type="jar" conf="compile"/> 
     <artifact name="jboss-logging-spi"  type="jar" conf="compile, logging"/> 
     <artifact name="jboss-security-spi"   type="jar" conf="compile"/> 
     <artifact name="jboss-ejb3-ext-api"   type="jar" conf="server"/> 
     <artifact name="jboss-ejb3-core"  type="jar" conf="server"/> 
     <artifact name="jboss-integration"  type="jar" conf="compile,ant"/> 
     <artifact name="ejb3-persistence" type="jar" conf="hibernate"/> 
     <artifact name="hibernate-core"   type="jar" conf="hibernate"/> 
     <artifact name="hibernate-entitymanager" type="jar" conf="hibernate"/> 
     <artifact name="hibernate-annotations" type="jar" conf="hibernate"/> 
     <artifact name="hibernate-commons-annotations" type="jar" conf="hibernate"/> 
     <artifact name="jboss-system-client" type="jar" conf="server"/> 
     <artifact name="servlet-api"  type="jar" conf="servlet"/> 
     <artifact name="jbosssx"   type="jar" conf="server"/> 
     <artifact name="jmx-invoker-adaptor-client"  type="jar" conf="server,jmx,ant"/> 
     <artifact name="antlr" type="jar" conf="hibernate"/>  
     <artifact name="slf4j-api" type="jar" conf="server, logging"/> 
     <artifact name="slf4j-jboss-logging" type="jar" conf="server, logging"/> 
     <artifact name="jboss-aop-client" type="jar" conf="aop"/> 
     <artifact name="jbossjmx-ant" type="jar" conf="ant"/> 
    </publications> 
</ivy-module> 
関連する問題