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

本文主要是介绍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,查看右侧是否异常

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

 

转载于:https://www.cnblogs.com/libin6505/p/10556864.html

这篇关于Gradle 从svn 中检出的父项目后处理配置【我】 及 Failed to parse configuration class异常...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633542

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定