簡體   English   中英

NetBeans 7.2,啟動maven spring項目並添加hibernate

[英]NetBeans 7.2, starting a maven spring project and add hibernate

我正在嘗試將maven作為構建系統遷移,以便對依賴項進行更標准的管理。

這是我要做的步驟和我問的簡單(maven新手)問題。 這個過程是最直接的,我可以想象,所以這個問題應該很容易重現。

  1. 讓我們從File,New Project,Maven,Web Application開始。 在下面的表單中,我保留所有默認值,但是對於我選擇“Apache Tomcat 7.0.11.0”的應用程序服務器字段。 我注意到這個向導沒有提出任何框架(Sring,Hibernate等),而標准的非maven項目創建向導確實允許包含框架的選擇。

如果我們現在看看這個項目,我們看到的是:

在此輸入圖像描述

所以第一個問題是:為什么春天已經被包括在內,甚至在我明確添加它之前?

我們來看看項目屬性:
在此輸入圖像描述

所以沒有選擇框架。 我想將spring用於它的依賴注入容器(以后我可能會添加spring安全性,但這不是當下的優先事項)。 我是否需要再次添加它,因為如上所述,已經包含了一些核心模塊?

  1. 在項目屬性中,在框架節點中,我添加了Hibernate並選擇了數據庫連接。 依賴關系現在變為如下。

在此輸入圖像描述

其中兩個(我在屏幕截圖中突出顯示它們)被標記為“依賴尚未下載。構建項目以糾正錯誤”(當您將指針移到它們上面時,您可以看到此消息作為提示)。 我已經構建了項目,但錯誤仍然存​​在。
在maven的輸出中,我看到:

Failed to execute goal on project CreatingMavenSpringProject: Could not resolve dependencies for project com.mycompany:CreatingMavenSpringProject:war:1.0-SNAPSHOT: The following artifacts could not be resolved: javax.sql:jdbc-stdext:jar:2.0, javax.transaction:jta:jar:1.0.1B: Could not find artifact javax.sql:jdbc-stdext:jar:2.0 in unknown-jars-temp-repo (file:C:\Users\agostino\Documents\NetBeansProjects\CreatingMavenSpringProject/lib) -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

我按照它的建議嘗試過:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
n project CreatingMavenSpringProject: Could not resolve dependencies for project
 com.mycompany:CreatingMavenSpringProject:war:1.0-SNAPSHOT: The following artifa
cts could not be resolved: javax.sql:jdbc-stdext:jar:2.0, javax.transaction:jta:
jar:1.0.1B: Failure to find javax.sql:jdbc-stdext:jar:2.0 in file:C:\Users\agost
ino\Documents\NetBeansProjects\CreatingMavenSpringProject/lib was cached in the
local repository, resolution will not be reattempted until the update interval o
f unknown-jars-temp-repo has elapsed or updates are forced
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe
pendencies(LifecycleDependencyResolver.java:210)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resol
veProjectDependencies(LifecycleDependencyResolver.java:117)
        at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAr
eResolved(MojoExecutor.java:258)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:201)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not res
olve dependencies for project com.mycompany:CreatingMavenSpringProject:war:1.0-S
NAPSHOT: The following artifacts could not be resolved: javax.sql:jdbc-stdext:ja
r:2.0, javax.transaction:jta:jar:1.0.1B: Failure to find javax.sql:jdbc-stdext:j
ar:2.0 in file:C:\Users\agostino\Documents\NetBeansProjects\CreatingMavenSpringP
roject/lib was cached in the local repository, resolution will not be reattempte
d until the update interval of unknown-jars-temp-repo has elapsed or updates are
 forced
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D
efaultProjectDependenciesResolver.java:189)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe
pendencies(LifecycleDependencyResolver.java:185)
        ... 22 more
Caused by: org.sonatype.aether.resolution.DependencyResolutionException: The fol
lowing artifacts could not be resolved: javax.sql:jdbc-stdext:jar:2.0, javax.tra
nsaction:jta:jar:1.0.1B: Failure to find javax.sql:jdbc-stdext:jar:2.0 in file:C
:\Users\agostino\Documents\NetBeansProjects\CreatingMavenSpringProject/lib was c
ached in the local repository, resolution will not be reattempted until the upda
te interval of unknown-jars-temp-repo has elapsed or updates are forced
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDepe
ndencies(DefaultRepositorySystem.java:375)
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D
efaultProjectDependenciesResolver.java:183)
        ... 23 more
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: The follo
wing artifacts could not be resolved: javax.sql:jdbc-stdext:jar:2.0, javax.trans
action:jta:jar:1.0.1B: Failure to find javax.sql:jdbc-stdext:jar:2.0 in file:C:\
Users\agostino\Documents\NetBeansProjects\CreatingMavenSpringProject/lib was cac
hed in the local repository, resolution will not be reattempted until the update
 interval of unknown-jars-temp-repo has elapsed or updates are forced
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(Def
aultArtifactResolver.java:538)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArti
facts(DefaultArtifactResolver.java:216)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDepe
ndencies(DefaultRepositorySystem.java:358)
        ... 24 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Failure to fi
nd javax.sql:jdbc-stdext:jar:2.0 in file:C:\Users\agostino\Documents\NetBeansPro
jects\CreatingMavenSpringProject/lib was cached in the local repository, resolut
ion will not be reattempted until the update interval of unknown-jars-temp-repo
has elapsed or updates are forced
        at org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.newExcept
ion(DefaultUpdateCheckManager.java:230)
        at org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.checkArti
fact(DefaultUpdateCheckManager.java:204)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(Def
aultArtifactResolver.java:427)
        ... 26 more

現在我陷入困境,請注意,當您嘗試添加hibernate時,這是maven項目的開箱即用行為。 如何解決這個問題?

使用Tomcat 7.0.27我沒有看到第一個問題(Spring依賴項),但我可以復制第二個問題(無法下載depdencies)。 檢查pom.xml我發現它有錯誤,比如這個依賴:

<dependency>
    <groupId>unknown.binary</groupId>
    <artifactId>derbyclient</artifactId>
    <version>SNAPSHOT</version>
</dependency>

和這個存儲庫:

<repository>
    <id>unknown-jars-temp-repo</id>
    <name>A temporary repository created by NetBeans for libraries and jars it 
    could not identify. Please replace the dependencies in this repository with 
    correct ones and delete this repository.</name>
    <url>file:${project.basedir}/lib</url>
</repository>

盡管Netbeans wiki頁面顯示了使用Maven項目選擇框架的示例,但我建議在“Dependencies”節點的“Add dependency ...”選項中添加依賴項。

編輯:在不同的計算機中重復相同的步驟后添加了pom.xml錯誤。

您可以通過在存儲庫部分下添加以下存儲庫來手動修改POM文件:

<repositories>
   ...
   <repository>
      <id>java.net-m2</id>
      <name>java.net - Maven 2</name>
      <url>https://repository.jboss.org/nexus/content/repositories/java.net-m2</url>
   </repository>
</repositories>

您始終可以手動下載依賴項。 例如,您可以從http://download.java.net/maven/2/javax/sql/jdbc-stdext/2.0/jdbc-stdext-2.0.jar - jta-1.0下載-jdbc-stdext-2.0.jar。 1B.jar來自http://download.java.net/maven/2/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar

然后將jar放在.m2存儲庫中的正確位置。 - .m2 / repository / javax / sql / jdbc-stdext / 2.0 / jdbc-stdext-2.0.jar - .m2 / repository / javax / transaction / jta / 1.0.1B / jta-1.0.1B.jar

然后運行maven clean並構建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM