依存関係をより標準的に管理するために、ビルドシステムとしてMavenに移行しようとしています。
これは私が行う手順であり、私が尋ねる単純な(Maven初心者の)質問です。このプロセスは私が想像できる最も簡単なものなので、この問題は非常に簡単に再現できるはずです。
- ファイル、新しいプロジェクト、Maven、Webアプリケーションから始めましょう。次のフォームでは、「Apache Tomcat 7.0.11.0」を選択したアプリケーションサーバーフィールドを除いて、すべてのデフォルトを保持しています。このウィザードはフレームワーク(Sring、Hibernateなど)を提案していませんが、標準の非Mavenプロジェクト作成ウィザードではフレームワークの選択を含めることができます。
プロジェクトを今見てみると、次のようになります。
最初の質問は、なぜ春がすでに含まれているのか、それ以前に明示的に追加したのかということです。
プロジェクトのプロパティを見てみましょう。
したがって、フレームワークは選択されていません。依存性注入コンテナのためだけにSpringを使用したいと思います(後で、Springのセキュリティを追加する可能性がありますが、現時点ではこれは優先事項ではありません)。上で述べたように、いくつかのコアモジュールがすでに含まれているので、もう一度追加する必要がありますか?
- プロジェクトのプロパティのフレームワークノードで、Hibernateを追加し、データベース接続を選択しました。依存関係は次のようになります。
それらのうちの2つ(スクリーンショットで強調表示しています)は、「依存関係はまだダウンロードされていません。エラーを修正するプロジェクトをビルドしてください」とマークされています(ポインターをそれらの上に移動すると、このメッセージがヒントとして表示されます)。プロジェクトをビルドしましたが、エラーが残っています。
Mavenの出力では、次のように表示されます。
プロジェクトCreatingMavenSpringProjectで目標を実行できませんでした:プロジェクトcom.mycompany:CreatingMavenSpringProject:war:1.0の依存関係を解決できませんでした-スナップショット:次のアーティファクトを解決できませんでした:javax.sql:jdbc-stdext:jar:2.0、javax.transaction: jta:jar:1.0.1B:unknown-jars-temp-repo(file:C:\ Users \ agostino \ Documents \ NetBeansProjects \ CreationMavenSpringProject / lib)にアーティファクトjavax.sql:jdbc-stdext:jar:2.0が見つかりませんでした- >[ヘルプ1] エラーの完全なスタックトレースを確認するには、-eスイッチを指定してMavenを再実行します。 -Xスイッチを使用してMavenを再実行し、完全なデバッグログを有効にします。
私はそれが示唆するように試しました:
org.apache.maven.lifecycle.LifecycleExecutionException:目標oの実行に失敗しました nプロジェクトCreatingMavenSpringProject:プロジェクトの依存関係を解決できませんでした com.mycompany:CreatingMavenSpringProject:war:1.0-スナップショット:次のアーティファ ctsを解決できませんでした:javax.sql:jdbc-stdext:jar:2.0、javax.transaction:jta: jar:1.0.1B:file:C:\ Users \ agostでjavax.sql:jdbc-stdext:jar:2.0が見つかりません ino \ Documents \ NetBeansProjects \ CreationMavenSpringProject/libはにキャッシュされました ローカルリポジトリ、更新間隔oまで解決は再試行されません f unknown-jars-temp-repoが経過したか、更新が強制されました org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDeで ペンダント(LifecycleDependencyResolver.java:210) org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolで veProjectDependencies(LifecycleDependencyResolver.java:117) org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesArで eResolved(MojoExecutor.java:258) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:201) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:153) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:145) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjeで ct(LifecycleModuleBuilder.java:84) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjeで ct(LifecycleModuleBuilder.java:59) org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuで ild(LifecycleStarter.java:183) org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl eStarter.java:161) org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)で org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)で org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)で org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)で org.apache.maven.cli.MavenCli.main(MavenCli.java:141)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。 java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597)で org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun cher.java:290) org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav a:230) org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La uncher.java:409) org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 352) 原因:org.apache.maven.project.DependencyResolutionException:解像度ができませんでした プロジェクトcom.mycompany:CreatingMavenSpringProject:war:1.0-Sの依存関係を解決します ナップショット:次のアーティファクトを解決できませんでした:javax.sql:jdbc-stdext:ja r:2.0、javax.transaction:jta:jar:1.0.1B:javax.sql:jdbc-stdext:jが見つかりません ファイル内のar:2.0:C:\ Users \ agostino \ Documents \ NetBeansProjects \ CreationMavenSpringP roject/libがローカルリポジトリにキャッシュされました。解決は再試行されません d unknown-jars-temp-repoの更新間隔が経過するか、更新が行われるまで 強制 org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D efaultProjectDependenciesResolver.java:189) org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDeで ペンダント(LifecycleDependencyResolver.java:185) ...22もっと 原因:org.sonatype.aether.resolution.DependencyResolutionException:次の ローイングアーティファクトを解決できませんでした:javax.sql:jdbc-stdext:jar:2.0、javax.tra nsaction:jta:jar:1.0.1B:file:Cでjavax.sql:jdbc-stdext:jar:2.0が見つかりません :\ Users \ agostino \ Documents \ NetBeansProjects \ CreationMavenSpringProject/libはcでした ローカルリポジトリで停止すると、updaまで解決が再試行されません unknown-jars-temp-repoの間隔が経過したか、更新が強制されました org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDepeで ndencies(DefaultRepositorySystem.java:375) org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D efaultProjectDependenciesResolver.java:183) ...23もっと 原因:org.sonatype.aether.resolution.ArtifactResolutionException:次の ウィングアーティファクトを解決できませんでした:javax.sql:jdbc-stdext:jar:2.0、javax.trans action:jta:jar:1.0.1B:file:C:\でjavax.sql:jdbc-stdext:jar:2.0が見つかりません Users \ agostino \ Documents \ NetBeansProjects \ CreationMavenSpringProject/libはcacでした ローカルリポジトリにある場合、更新されるまで解決は再試行されません unknown-jars-temp-repoの間隔が経過したか、更新が強制されました org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(Def aultArtifactResolver.java:538) org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtiで facts(DefaultArtifactResolver.java:216) org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDepeで ndencies(DefaultRepositorySystem.java:358) ...さらに24 原因:org.sonatype.aether.transfer.ArtifactNotFoundException:失敗 nd javax.sql:jdbc-stdext:jar:2.0 in file:C:\ Users \ agostino \ Documents \ NetBeansPro jects \ CreationMavenSpringProject/libはローカルリポジトリにキャッシュされました。 unknown-jars-temp-repoの更新間隔が完了するまで、ionは再試行されません。 経過したか、更新が強制されます org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.newExceptで ion(DefaultUpdateCheckManager.java:230) org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.checkArtiで fact(DefaultUpdateCheckManager.java:204) org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(Def aultArtifactResolver.java:427) ...26もっと
そして今、私はこの時点で立ち往生しています。これは、休止状態を追加しようとしたときのMavenプロジェクトのすぐに使用可能な動作であることに注意してください。これを修正する方法は?