4

私はMavenとEclipseが初めてです。プロジェクトでは、Netbeans を使用し、手動で jar をインストールしてきました。

Maven の目的は、依存関係に基づいて必要な jar をダウンロードすることだと思いましたか?

新しいプロジェクトでdependencies、pom.xml ファイルのノードの下に以下を追加しました。

    <!-- Java dependencies -->
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>com.springsource.javax.annotation</artifactId>
    </dependency>

    <!-- Spring dependencies -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>org.springframework.orm</artifactId>
    </dependency>

    <!-- Spring Security dependencies -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>org.springframework.security.config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>org.springframework.security.core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>org.springframework.security.taglibs</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>org.springframework.security.web</artifactId>
    </dependency>

    <!-- Other dependencies -->
    <dependency>
        <groupId>com.mysql.jdbc</groupId>
        <artifactId>com.springsource.com.mysql.jdbc</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
        <scope>runtime</scope>
    </dependency>

しかし、私が得るのは次のとおりです。

プロジェクト ビルド エラー: javax.annotation:com.springsource.javax.annotation:jar の 'dependencies.dependency.version' がありません。

....

私は何を間違っていますか?

4

5 に答える 5

7

ほとんどの場合、依存ブロックにはバージョン番号が必要です。http://search.maven.org/で依存関係を検索すると、完全な依存関係ブロックを含む依存関係に関するページに移動できるはずです。

たとえば、Spring Security のページは次のとおりです。

http://search.maven.org/#artifactdetails|org.springframework.security|spring-security-aspects|3.1.0.RELEASE|jar

その依存ブロックは次のようになります。

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-aspects</artifactId>
    <version>3.1.0.RELEASE</version>
</dependency>
于 2012-06-01T14:34:14.973 に答える
3

次のように、依存関係のバージョンを指定する必要があります。

<dependency> 
     <groupId>javax.annotation</groupId>       
     <artifactId>com.springsource.javax.annotation</artifactId>  
     <version>1.0.0</version>     
</dependency>
于 2012-06-01T14:35:57.157 に答える
2

エラーが示すように、依存関係のバージョン属性がpomの依存関係エントリにありません。

この例では、pomがどのように配置されているかに注意してください。 http://www.mkyong.com/spring-security/spring-security-hello-world-example/

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>

ハードコーディングすることも、プロパティとして追加することもできます。お役に立てれば

于 2012-06-01T14:36:54.187 に答える
1

エラーメッセージが指摘しているように、<version>すべての要素の子要素が欠落しています<dependency>

http://mvnrepository.comで依存関係を参照<dependency>すると、次のようにPOMファイルに貼り付けることができる要素の例を簡単に見つけることができます。

<dependency>
    <groupId>springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>1.2.6</version>
</dependency>
于 2012-06-01T14:37:27.087 に答える
1

pom.xmlファイルに依存関係を追加するには、groupIdとartifactId以外の詳細を提供する必要があります。

pom.xmlファイルに依存関係を追加する方法を理解するには、このリファレンスを参照してください-http ://maven.apache.org/pom.html#Dependencies

于 2012-06-01T14:40:06.260 に答える