1

Ivyと戦っています(mavenを試しましたが、HibernateのJBossリポジトリーをセットアップするのが難しいイベントがありました)。

簡単な質問-私はこの素晴らしいパッケージを使用しています:http: //ooweb.sourceforge.net/index.html

残念ながら、JARはSourceforgeからのみ入手できます: http ://sourceforge.net/projects/ooweb/files/ooweb/0.8.0/ooweb-0.8.0-bin.tar.gz/download

Ivyに特定のJARをダウンロードさせる方法はありますか?

そのことについては、Mavenで行うことは可能ですか?

または、そのことについては、Gradleはどうですか?

ありがとうございました!ミーシャ

4

2 に答える 2

2

私があなたを正しく理解したかどうか見てみましょう..

Ivy について話すことはできませんが、Maven では、JAR を手動でリポジトリ (ローカルのリポジトリや、ソフトウェアのビルド時に使用される可能性があるリポジトリ) にインストールする必要がある場合があります。

jar をドライブにダウンロードし、コマンド ラインで次のように実行します。

mvn install:install-file -Dfile=ooweb.jar -DgroupId=ooweb -DartifactId=ooweb -Dversion=0.8.0 -Dpackaging=jar 

より洗練された groupId を選択してください。これらは、依存関係を定義するときに pom で使用するものです。

JBoss リポジトリをセットアップする際に遭遇した特定の問題はありましたか? 少し前に、ポンポンの最後にこれを追加するだけでそれを行いました:

<repositories>
 <repository>
  <id>jboss</id>
  <url>http://repository.jboss.com/maven2</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>
<repository>
  <id>jboss-snapshot</id>
  <url>http://snapshots.jboss.org/maven2</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

于 2010-06-07T04:54:15.103 に答える
1

Ivy のパッケージ リゾルバーを使用して、ダウンロード可能なパッケージを Ivy モジュールに変換できます。

アイビー ラウンドアップリポジトリも参照してください。

サンプル プロジェクトは、次のファイルで構成されています。

$ find . -type f
./build.xml
./ivy.xml
./ivysettings.xml
./repository/net.sourceforge/ooweb/0.8.0/packager.xml

アイビー.xml

ooweb モジュールに対する依存関係を宣言する通常の ivy ファイル:

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="packager_demo"/>
    <dependencies>
        <dependency org="net.sourceforge" name="ooweb" rev="0.8.0"/>
    </dependencies>
</ivy-module>

ivysettings.xml

Maven 中央リポジトリがデフォルトのリポジトリとしてセットアップされます。特別な「パッケージャー」リゾルバーを使用して、oowebモジュールを取得します。

アーティファクトパターンは、モジュール アーティファクトのダウンロード方法に関する指示を含むパッケージャー ファイルを指しています。

<ivysettings>
    <settings defaultResolver="central"/>
        <resolvers>
           <ibiblio name="central" m2compatible="true"/>
            <packager name="packager" buildRoot="${user.home}/.ivy2/packager/build" resourceCache="${user.home}/.ivy2/packager/cache" preserveBuildDirectories="false">
                <ivy pattern="file:///${ivy.settings.dir}/repository/[organisation]/[module]/[revision]/ivy.xml"/>
                <artifact pattern="file:///${ivy.settings.dir}/repository/[organisation]/[module]/[revision]/packager.xml"/>
            </packager>
        </resolvers>
        <modules>
            <module organisation="net.sourceforge" name="ooweb" resolver="packager"/>
        </modules>
</ivysettings>

packager.xml

これが魔法です。リソース宣言は、tar パッケージの場所を示します。ビルド セクションには、モジュールの成果物セクションに移動するファイルに関する ANT 命令が含まれています。

<packager-module version="1.0">
    <property name="name" value="${ivy.packager.module}"/>
    <property name="version" value="${ivy.packager.revision}"/>
    <property name="packagename" value="${name}-${version}"/>

    <resource dest="archive" url="http://sourceforge.net/projects/ooweb/files/ooweb/0.8.0/ooweb-0.8.0-bin.tar.gz/download" sha1="d886a3d48bf4380cbec3e6f7de029f01e5c55315" type="tar.gz"/>

    <build>
        <move file="archive/${packagename}/lib/${packagename}.jar" tofile="artifacts/jars/${name}.jar"/>
    </build>
</packager-module>

注:内部では、ivy は XSLT スタイルシートを使用して、パッケージャー宣言から ANT スクリプトを生成します。次に、この ANT スクリプトはアーティファクトをダウンロードし、アイビー キャッシュに配置します。

アップデート

Gradle には ivy が組み込まれているため、このパッケージャー ソリューションは 2 つのビルド テクノロジで機能するはずです。この回答を参照してください。

于 2011-09-18T19:51:23.347 に答える