【问题标题】:Unresolved dependecies when changing from Grails 2.1.1 to Grails 2.4.4从 Grails 2.1.1 更改为 Grails 2.4.4 时未解决的依赖项
【发布时间】:2015-04-03 18:19:12
【问题描述】:

我在 Eclipse (GGTS) 中导入了一个基于 Grails 2.1.1 的项目,需要将其更新到 2.4.4 版本。我正在使用带有 32 位 Eclipse 版本 (Kepler) 的 Windows 7。

在检查依赖项时,我收到以下错误:

    Starting process on CARMBEL11628/10.113.134.246
Loading Grails 2.4.4
|Configuring classpath
|Downloading: D:\Programme\grails-2.4.4\plugins\tomcat-7.0.55.pom
|Downloading: D:\Programme\grails-2.4.4\plugins\tomcat-7.0.55.zip
:: problems summary ::
:::: WARNINGS
    Host repo.grails.org not found. url=https://repo.grails.org/grails/plugins/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-sources.jar
    Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-sources.jar
    Host repo.grails.org not found. url=https://repo.grails.org/grails/plugins/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-src.jar
    Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-src.jar
    Host repo.grails.org not found. url=https://repo.grails.org/grails/plugins/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-javadoc.jar
    Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/grails/plugins/tomcat/7.0.55/tomcat-7.0.55-javadoc.jar
    Host repo.grails.org not found. url=https://repo.grails.org/grails/plugins/org/apache/tomcat/embed/tomcat-embed-core/7.0.55/tomcat-embed-core-7.0.55.pom
    Host repo.grails.org not found. url=https://repo.grails.org/grails/plugins/org/apache/tomcat/embed/tomcat-embed-core/7.0.55/tomcat-embed-core-7.0.55.jar
    Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/7.0.55/tomcat-embed-core-7.0.55.pom
    Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-core/7.0.55/tomcat-embed-core-7.0.55.jar
        module not found: org.apache.tomcat.embed#tomcat-embed-core;7.0.55
    ==== grailsPlugins: tried

....

        ==== mavenCentral: tried
      http://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/3.7.2/ecj-3.7.2.pom
      -- artifact org.eclipse.jdt.core.compiler#ecj;3.7.2!ecj.jar:
      http://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/3.7.2/ecj-3.7.2.jar
        ::::::::::::::::::::::::::::::::::::::::::::::
        ::          UNRESOLVED DEPENDENCIES         ::
        ::::::::::::::::::::::::::::::::::::::::::::::
        :: org.apache.tomcat.embed#tomcat-embed-core;7.0.55: not found
        :: org.apache.tomcat#tomcat-catalina-ant;7.0.55: not found
        :: org.apache.tomcat.embed#tomcat-embed-jasper;7.0.55: not found
        :: org.apache.tomcat.embed#tomcat-embed-logging-log4j;7.0.55: not found
        :: org.apache.tomcat.embed#tomcat-embed-websocket;7.0.55: not found
        :: org.eclipse.jdt.core.compiler#ecj;3.7.2: not found
        ::::::::::::::::::::::::::::::::::::::::::::::

任何想法如何解决错误消息?我发现了一些关于如何更改 BuildConfig.groovy 的建议(构建 ':tomcat:7.0.55' 而不是构建 ":tomcat:$grailsVersion")。此外,我删除了 Ivy-cache。

谢谢,

最好的

【问题讨论】:

  • 您是否尝试过在 2.4.4 中创建新应用,然后修改 BuildConfig 以包含您的插件?我的建议是一次做 1 个条目,并检查 grails 插件以确保您正在运行您定义的每个插件的最新版本。这将确保您发现问题是哪个插件是罪魁祸首
  • 是的,我将这些文件集成到一个新项目中...没有成功。
  • 所以 2.4.4 下的全新项目,即 grails create-app 的东西,然后在应用程序 grails run-app 内不起作用?
  • 我首先需要集成外部库......这是我目前的问题。刷新依赖项不起作用。
  • 我认为你把事情复杂化了。外部库是什么意思? - 如果 grails run-app 有效,我建议你创建一个默认应用程序 - 然后暂时忘记你的应用程序。使用其默认值在 2.4.4 下创建一个新应用程序 - 浏览旧应用程序中的插件 - 查找 grails 获取最新添加它们 1 逐 1 刷新依赖项 --- 确保在 BuildConfig 编译后所有这些都正常工作无内容 - 然后复制 grails-app 文件夹,不包括 conf/BuildConfig.groovy

标签: tomcat grails ggts


【解决方案1】:

您没有说您是否支持公司代理 - 如果您支持,那么这可能会对您有所帮助: http://grails.org/wiki/2.4.4%20Release%20Notes 说(接近尾声)Grails 2.4.4 对于 grailsCentral() 和 mavenCentral() 默认为 https。

maven 3.0.4 中似乎存在与代理https://jira.grails.org/browse/GRAILS-11841 相关的未解决错误,所以我只是想知道我的公司代理是否阻止了 https...

我在我的 BuilConfig.groovy 中进行了这些更改

grails.project.dependency.resolver = "maven"

在存储库中:

//grailsPlugins()   // Only for Ivy
//grailsHome()      // Only for Ivy
//mavenLocal()      // Only for Ivy
//grailsCentral()   // As of Grails 2.4.4 this defaults to https
mavenRepo "http://repo.grails.org/grails/plugins"
//mavenCentral()    // As of Grails 2.4.4 this defaults to https 
mavenRepo "http://repo1.maven.org/maven2"

这为我解决了这个问题。

【讨论】:

    【解决方案2】:

    您可以设置您的 grails 存储库。

    repositories {
       grailsRepo "http://grails.org/plugins"
    } 
    

    详情请访问链接。 http://grails.1312388.n4.nabble.com/Plugin-publication-migration-HOWTO-td4474812.html

    并为 maven repo 阅读此内容。 Unable to find resource in repository central (http://repo1.maven.org/maven2)

    【讨论】:

    • 而不是 mavenLocal() 和 mavenCentral()?目前,我的 BuildConfig 看起来像: repositories { inherits true // 是否从插件继承存储库定义 grailsPlugins() grailsHome() grailsCentral() mavenLocal() mavenCentral() }
    • 遗憾的是,我收到了相同的错误消息...我也遇到了与 javassist、postgres、hibernate-validator、cache-core、jboss-logging、jquery、resources 和 liquibase-core 类似的问题....
    • 我无法在此处发布文件的内容...因为我收到了错误消息,尽管我尝试在 sn-ps 中发布...不是我的一天。
    猜你喜欢
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2016-12-14
    • 2016-03-13
    相关资源
    最近更新 更多