3

pom.xml で wicket バージョン 1.5-RC7 を指定します。私が a をすると、次のmvn installように不平を言いますThe following artifacts could not be resolved: org.apache.wicket:wicket:jar:1.5-RC7, javax.transaction:jta:jar:1.0.1B。そこで、mvnrepository.com で javax.transaction.jta-1.0.1B.jar を検索してみましたが、見つけることができました。maven が avax.transaction:jta:jar:1.0.1B を解決できないと言うのはなぜですか?

私のpom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    …
    <repositories>
        <repository>
            <id>mvnrepository</id>
            <url>http://repo1.maven.org/maven2</url>
        </repository>
    </repositories>

    <dependencies>
        <!-- WICKET DEPENDENCIES -->
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket</artifactId>
            <version>${wicket.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket-spring</artifactId>
            <version>${wicket.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket-extensions</artifactId>
            <version>${wicket.version}</version>
        </dependency>
        …       
    </dependencies>
    </build>
    <properties>
        <wicket.version>1.5-RC7</wicket.version>
        ...
    </properties>
</project>
4

3 に答える 3

2

まず、http://repo1.maven.org/maven2は、Maven がルックアップするデフォルトのものです。再度宣言する必要はありません。

ビルド時に、Maven が接続しようとしているサーバーを確認できますか? のようなものが表示されるはずですDownloading: http://whatever.com/path/to/dependencies.pom

Maven 中央リポジトリをチェックインしましたが、org.apache.wicket:wicket:1.5-RC7 はありません。正しい依存関係を宣言したかどうかを確認することをお勧めします

JTA の場合、少し注意が必要です。かなりの数の Java 仕様 JAR については、ライセンスの問題により、実際の JAR はパブリックの中央 Maven リポジトリでは利用できません。http://search.maven.org/#artifactdetails|javax.transaction|jta|1.0.1B|jarを見ると、POM のみが含まれており、JAR は含まれていないことがわかります。

解決するにはいくつかの方法があります:

  1. 自分の会社に Maven リポジトリがある場合は、Sun/Oracle から JAR を取得し、自分でデプロイすることを検討してください。
  2. JTA 仕様自体については、新しいバージョン (1.1) で JAR を使用できます。後者の仕様に使用しても問題ないかどうかを確認してください
  3. Geromino 仕様を使用するように切り替えます。互換性があるはずです。 http://search.maven.org/#search|gav|1|g%3A%22geronimo-spec%22%20AND%20a%3A%22geronimo-spec-jta%22

編集

前回の検索でウィケット 1.5-RC7 を見逃していました。ごめん。POM を調べたところ、JAR POM ではないようです。 アーティファクトへの依存を宣言するorg.apache.wicket:wicket:1.5-RC7タイプです。POMwicket-core

次の 2 つの方法があります。

  1. 依存関係を変更してwicket-corewicket.
  2. 依存関係宣言を変更してください<type>pom</type> (デフォルトは であるためjar

私は Wicket に詳しくありませんが、方法 1 が推奨されると思います。

于 2013-05-31T01:52:09.720 に答える
0

私はちょうど今この問題に直面し、それを解決しました。これに関連するスタック オーバーフローで多くの質問を見てきました。私の解決策はわずかに異なっていたので、この回答を投稿しています。.

問題:-プロジェクト Apigee-Edge-deploy-plugin で目標を実行できませんでした: プロジェクト io.apigee.build-tools.enterprise4g:Apigee-Edge-deploy-plugin:maven-plugin:1.0.0 の依存関係を解決できませんでした:次の成果物を解決できませんでした:

根本原因:- Repo には、プロジェクトで言及されている依存関係の jar がありました。しかし、依存関係には、リポジトリに存在しない他の依存関係があり、この問題を引き起こしました。依存関係に除外を追加したところ、機能しました。

:-

     <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-metadata</artifactId>
        <version>1.3</version>
        <type>jar</type>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <artifactId>woden</artifactId>
                <groupId>org.apache.woden</groupId>
            </exclusion>
        </exclusions>
    </dependency>

参照:- Maven の依存関係と除外に関する非常に優れた記事もチェックしてください。

于 2014-04-30T08:29:24.813 に答える