• Gradle 从svn 中检出的父项目后处理配置【我】 及 Failed to parse configuration class异常


    前提:

    一个用gradle配置的 类似maven的聚合项目的项目,然后它在svn上就是一个父工程的目录。

     

    检出方式:

    在eclipse中,直接用svn资源库检出 父项目 的目录。

     

    然后,在父项目下面的settings.gradle文件上右键,

    Gradle——Refresh Gradle Project

    这样Eclipse包管理器中的单一parent目录项目就变成正常的多个子项目了。

    --------------------

    注意:

    如果按照上面的方法不管用(eclipse报错,或者没有反应即项目没有变化),请如下操作:

     处理方法1:

    1.在eclipse中全局搜索 :connection.gradle.distribution,会找到项目下对应的 .settings 目录下的 文件 org.eclipse.buildship.core.prefs

    也可以直接到工作空间下的项目下的 .settings目录下去找。

    2.修改  connection.gradle.distribution = 后面的值中的路径为 Eclipse环境中配置的本地gradle目录地址(这个地址可能是从svn中检出的项目的原配置,并不和本地gradle环境一致)

    3.再重复执行:在父项目下面的settings.gradle文件上右键,Gradle——Refresh Gradle Project

    处理方法2:

    打开Eclipse的 Problems 窗口,找到其中的错误,全局搜上面的错误,或者搜索:

    connection.gradle.distribution

    同样会找到上面的文件,只要把报错的这行:

    connection.gradle.distribution=GRADLE_DISTRIBUTION(LOCAL_INSTALLATION(E:\Utils\gradle-4.6))

    注释掉即可。

    重新Refresh Gradle Project 后其会自动变成

    connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)

    同时项目构建成功。

     =================

    gradle项目使用及启动

    用gradle构建的项目其实和maven一样,只是在 更新或修改 build.gradle 文件后,需要 在项目右键执行 Gradle——Refresh Gradle Project,是构建文件作用在项目上。其他可以和普通web项目一样操作,比如,启动,可以直接 add 到eclipse集成的Tomcat下来启动。

     ====================

    更换Eclipse 2019版本后,从SVN检出项目,按照上面方法配置,启动时发现报错:

     主要是说找不到某些类的 .class 文件,所以spring 无法实例化

    错误如下:
    org.apache.catalina.core.StandardContext listenerStart
    严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [ xxximpl.class  找不到

    发现报错的 bean都是某个接口项目下的实现类(说找不到对应的 .class 文件),而那个接口是以一个 jar 项目的形式单独存在的,在本项目的 build.gradle 配置文件中如下依赖的:

    dependencies {
       compile project(":crmCust-api")

    在Eclipse的包管理器界面都是没问题的:

    最下面也有这个依赖,但是部署到Tomcat中启动时就说找不到对应的 .class 文件

    想到是新Eclipse环境的问题,项目右键,build path,config bulidpath,Libraries 查看各项,未见明显异常错误。

    然后百度一番,

    再次项目右键,properties,选择左侧的 Deployment Assembly

    在弹出的窗口中,发现我们依赖的的接口项目 crmCust-api 在窗口下部有报错叉号及提示错误的标记,

    选中 上面表格中的 crmCust-api 然后,点右边的 Remove 移除,再点右边的add重新添加进来,故障排除。

    启发:

    怀疑项目构建问题,

    除了在项目右键,build path,config bulidpath 查看异常外

    还可以项目右键,properties,选择左侧的 Deployment Assembly,查看右侧是否异常

     ===================================

  • 相关阅读:
    SQL注入攻击
    新手指引,php什么是常量、变量、数组、类和对象及方法?
    JQuery坑,说说哪些大家都踩过的坑
    利用Jsonp实现跨域请求,spring MVC+JQuery
    【实用】需要收藏备用的JQuery代码片段
    【动画】JQuery实现冒泡排序算法动画演示
    【基础】26个命令玩转linux,菜鸟及面试必备
    【收藏】8段JQuery处理表单的代码片段,很实用
    【实用】Html5实现文件异步上传
    【基础】新手任务,五分钟全面掌握JQuery选择器
  • 原文地址:https://www.cnblogs.com/libin6505/p/10556864.html
Copyright © 2020-2023  润新知