cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。(解决方案的最全整理)
Posted ErwinNakajima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。(解决方案的最全整理)相关的知识,希望对你有一定的参考价值。
记录一下,新电脑安装新版的android Studio(小蜜蜂版本)导入那些gradle还是5.1.1(
distributionUrl=https\\://services.gradle.org/distributions/gradle-5.1.1-all.zip
)的项目以后,各种不适应,编译出现了一些问题。使用旧版本Android Studio(3.0.1)打开这个项目还是好好的。
报错具体内容如下:cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。
解决步骤如下:
跟随 Arctic Fox 更新的其中一个重点就是 AGP 7.0 的调整 … 使用 Android Gradle plugin
7.0 构建时需要 JDK 11 才能运行 Gradle … 并且只要你更新到 Android Studio Arctic Fox ,它是直接捆绑了 JDK 11 并将 Gradle 配置为默认使用它,所以大多数情况下,如果你本地配置正常,是可以直接使用 AGP 7.0
的升级。 … 在 Project Structure 的 SDK Location 栏目,可以看到 JDK 的配置位置已经被移动到
Gradle Settings …
1、首先修改项目的jdk版本,新版的Android Studio(小蜜蜂版本)创建项目的jdk默认是jdk11(如下图一),如果是老的项目,可能不是jdk11,而是jdk1.8,需要需改成jdk11(File->Setting->搜索Gradle,选择JDK的路径->点击OK,见下图二)。
2、修改项目下的(注意是project下的,不是module下的)build.gradle文件的配置项,把
classpath 'com.android.tools.build:gradle:3.0.1'
改成
classpath 'com.android.tools.build:gradle:4.1.1'
(我的已修改,见下图一)
3、修改项目的gradle配置项,把
distributionUrl=https\\://services.gradle.org/distributions/gradle-5.1.1-all.zip
改成
distributionUrl=https\\://services.gradle.org/distributions/gradle-6.7.1-all.zip
(我的已修改,见下图一)
4、编译通过之后,看着像是没什么问题了。可是run到手机的时候,又出现了一些问题,问题是老版本的依赖不兼容
classpath 'com.android.tools.build:gradle:4.1.1'
引起的,比如高德地图这几个依赖。
解决方法:
把高德地图的老版本依赖
//高德地图
//3D地图so及jar
compile 'com.amap.api:3dmap:latest.integration'
//定位功能
compile 'com.amap.api:location:latest.integration'
//搜索功能
compile 'com.amap.api:search:latest.integration'
换成新的高德地图的依赖,
//高德地图
//3D地图so及jar
implementation 'com.amap.api:3dmap:5.0.0'
//定位功能
implementation 'com.amap.api:location:3.3.0'
//搜索功能
implementation 'com.amap.api:search:5.0.0'
如果别的依赖也不兼容的话,根据提示把别的不兼容的依赖也替换成新的就没问题了。
企业外发文件管控方案总结
很多企业为了数据的安全,需要对外发文件进行管控。而手机、usb存储的广泛使用,使得外发文件的管控非常难以实现。在本文中,我将抛砖引玉,探讨外发文件管控的几种方式。外发文件的管控,需要考虑如下几个方面:
屏蔽通过网络外发文件
屏蔽蓝牙、usb等外设外发文件
文件加密
1. 屏蔽通过网络外发文件
人员可以通过邮件、QQ、微信、网盘、FTP等方式来外发文件,所以,要屏蔽通过网络外发文件,可以考虑如下几个方案:
a). 网站白名单,只允许访问工作需要的网站,其他一律禁止掉。这是最严格的限制方式。
b). 采用应用过滤,禁止掉所有的文件传输、网盘、邮件等。这个方案相对有效,但是不能排除通过未知的应用协议来传文件。
相关截图如下:
2. 屏蔽通过usb、蓝牙等外设外发文件
这个章节探讨的是主机的安全需要,如果人员可以近距离接触到主机,就会通过外接usb存储、蓝牙等设备来拷贝相关的文件。所以最安全的方式是不允许近距离接触,所有的文件操作通过远程桌面来进行。其次的方案才是禁止usb和蓝牙。详解如下:
方案一:只允许通过远程桌面打开文件(推荐方案)
需要在远程主机配置如下的安全策略。
a). 只允许通过远程桌面打开文件,且不允许拷贝到本地。
b). 禁止远程主机访问互联网,杜绝通过网络传递的可能。
c). 禁止远程主机访问其他×××的共享,杜绝通过局域网拷贝到其他设备上。
如图,运行gpedit.msc打开组策略编辑器。
方案二:禁止usb和蓝牙设备。
通过组策略一样可以禁止usb和蓝牙设备,但是不能算一个完美的方案。举例来说,人员可以直接开机把硬盘拿出来拷贝数据。组策略禁止usb的配置,请参见如下截图:
现在也有一些第三方软件提供禁止usb设备等功能,不过稳定性和可靠性都一般,所以不推荐。
3. 文件加密
文件透明加密也是一种数据保护技术。采用文件加密后,文件只能在安装了加密软件的×××上打开。这样也可以有效的对数据安全进行保密。现在有很多的第三方软件可以对文件进行加密,这些软件大都采用微软的驱动级文件加密技术。
a). 文件透明加密的优点是:安装和部署比较方便,支持多级权限控制,功能强大。
b). 缺点在于密文的安全性。密文很容易被泄漏,只要有了密钥就可以进行解密,而且不排除有黑客技术人员对密文进行暴力破解的可能性。
4. 总结
a). 隔离物理访问的远程桌面方式,可以有效的杜绝泄密可能,是最佳方案。
b). 文件透明加密有一定的优点,也是可选方案。
c). 只禁止usb存储的方式,缺陷比较多。不推荐。
所以,建议你根据数据安全需要和实际的条件选择适合自己的方案,并且结合网络屏蔽方案,这样可以达到最佳的安全效果。
以上是关于cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。(解决方案的最全整理)的主要内容,如果未能解决你的问题,请参考以下文章
weblogic.xml 中的错误:cvc-complex-type.2.4.a:发现以元素“prefer-application-packages”开头的无效内容
cvc-complex-type.2.4.a: Invalid content was found starting with element
cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]
cvc-complex-type.2.4.a: Invalid content was found starting with element 错误
解决cvc-complex-type.2.4.a: Invalid content was found starting with element
org.activiti.bpmn.exceptions.XMLException: cvc-complex-type.2.4.a: 发现了以元素 ‘outgoing‘ 开头的无效内容