Ant的使用简介
Ant的使用简介
1、Ant简介
ApacheAnt是一个基于Java的构建工具。是一个将软件编译、测试、部署等步骤想结合并加以自动化的一个工具,大多用于Java环境中的软件开发。目前主要的Java ide都带有Ant,产品如Eclipse、NetBeans和IntelliJ IDEA。
理论上,它有点像make,既然已经有make、gnumake、nmake、jam和其他工具,为什么还要使用另一个构建工具呢?因为所有这些工具都有一些限制(平台局限性),Ant的原始作者在跨多个平台开发软件时无法忍受这些限制,Ant不是使用基于shell的命令进行扩展的模型,而是使用Java类进行扩展。配置文件不是编写shell命令,而是基于XML的,调用一个目标树,在其中执行各种任务。每个任务都由实现特定任务接口的对象运行。
2、Ant的环境搭建
2.1 配置环境变量
前提条件:ANT的环境依赖于JDK。
(Java版本越最新,Ant任务就越多。如果没有JDK,只有运行时(JRE),那么许多任务将无法工作。如果在windows下运行,bat脚本使用了三个环境变量:ANT_HOME、CLASSPATH和JAVA_HOME。)
ANT_HOME到您解压Ant到的目录,并将${ANT_HOME}/bin (Unix)或%ANT_HOME%\bin (Windows)添加到您的PATH。
也可以运行:ant -diagnostics 命令检查是否安装好。
2.2、Ant和JDK的版本对应关系
也可以运行:ant -diagnostics 命令检查是否安装好。
2.3、Ant的目录说明
解压后:
-
bin:包含启动器脚本
-
docs:Ant文档
-
etc:包含XSL,增强XML各种任务的输出创建,迁移并构建文件
-
lib:包含Ant jar和必要的依赖项
-ant-junit.jar --> junit task-单元任务
-ant-apache-bsf.jar-->script task-脚本任务
-等等
-
README, LICENSE, fetch.xml,其他文本文件。
3、Ant的基本使用
当我们运行ant时,发现如下提示:是因为您需要为项目编写构建文件。
Ant的构建文件用XML编写,每个构建文件包含一个项目和至少一个(默认)目标。
3.1、Ant的构建标签简介
3.1.1、 Projects标签
project标签是每个构建文件的根标签,该标签的语义是代表一个项目。
<!--project标签:一个项目,包含属性:1)name:项目的名称。2)default:没有提供目标时使用的默认目标。(default="help",这个目标将始终作为项目初始化的一部分执行。3)basedir:基准目录,如果没有使用,则将使用构建文件的父目录。
-->
<project name="sunline-its" default="help" basedir=".">
</project>
3.1.2、description标签
项目描述信息。
<project name="sunline-its" default="help" basedir="."><description>描述信息</description>
</project>
3.1.3、Targets标签
target标签表示的是一个生成过程或是一个任务。一个项目标签下可以有一个或多个target标签。一个target可以依赖于其他target标签。
例如,您可能有一个用于编译的目标,还有一个用于创建可分发对象的目标。只有在首先编译后才能构建可分发对象,因此分发目标依赖于编译目标。Ant解析这些依赖项。
target简而言之,是一个容器,指令集合,一个事务。
<project name="MyProject" default="B" basedir="."><!--target标签:目标,是一个容器,指令集合或一个事物。常用属性:1)name:任务名称(必须);2)depends:依赖项,执行该target之前需要先执行的target,非必须;3)description:提供描述信息,这些描述可由-projecthelp命令行选项输出,非必须;4)if:当属性被设置时才执行该target,非必须;5)unless:当属性没有设置时才执行该target,非必须。--><target name="A" description="generate the distribution">...</target><target name="B" depends="A">...</target><!--a属性配置了则为真,此任务可以执行注:if只能指定一个属性,要多个属性可以使用depends--><target name="C" depends="A" if="a">...</target>
</project>
3.1.4、property标签
property标签用于定义一个类似于程序语言中的变量,但是定义之后不可修改。
<!--property标签常用属性如下:1)name表示属性名2)value表示属性的值3)内置的一些属性:ant.home:Ant的主目录ant.project.default-target:它包含当前正在执行的项目的默认目标的名称ant.project.invoked-targets:调用当前项目时的目标列表注:<property file="build.properties"/> 当然还可以直接使用属性文件去定义
-->
<project name="MyProject" default="" basedir="."><property name="name" value="mjx"/><property name="age" value="25"/><echo message="name: ${name}, age: ${age}"/><echo message="${ant.home}"/>
</project>
案例效果:
3.2、Ant的运行方式
Ant有两种常用的运行方式:一是使用命令行运行,另一种是在支持Ant的集成开发环境(IDE)中运行。
3.2.1、命令行运行Ant
使用命令行运行的常用命令选项:
<!--不加任何选项,使用当前目录中的build.xml文件运行Ant-->
ant
<!--打印帮助信息,-h为简写-->
ant --help, -h
<!--打印版本信息并退出-->
ant -version <!--显示当前build.xml的主要任务和描述信息-->
ant -projecthelp , -p <!--诊断或报告问题-->
ant -diagnostics<!--指定搜索jar和类的路径-->
ant -lib <path> <!--调用执行相似build.xml的文件,- file,-f为简写-->
ant -buildfile, - file,-f <!-- 在默认目标上,使用当前目录中的test.xml文件运行Ant-->
ant -buildfile test.xml<!-- 在名为dist的目标上,使用当前目录中的test.xml文件运行Ant-->
ant -buildfile test.xml dist<!--用于设定一些变量,这些变量可以再target中直接引用,或覆盖已设定的属性值-->
ant -D<property>=<value>
3.2、Ant的Core Tasks(Standard Tasks或内置Tasks)
Ant内置了很多的指令任务,当然也允许我们自定义任务。
ant中的许多标准任务采用一个或多个文件集,这些文件集遵循这里给出的规则。 这个列表是这些列表的子集,它是标准ant任务的列表,可以充当隐式文件集。
这些内置指令主要有:
1)文件操作
2)代码编译
3)打包部署
由于涉及到其他内容,这里先简单的介绍下文件指令任务。
3.2.1、mkdir标签
mkdir用于创建目录。
<!--会创建build/classes目录-->
<mkdir dir="build/classes"/>
3.2.2、copy标签
copy标签用于复制文件/目录。
<project name="MyProject" default="" basedir=".">
<!--单个文件复制:将test.xml拷贝到dist目录-->
<copy file="test.xml" todir="dist"/>
<!--单个文件复制:将test.xml拷贝到dist目录,并另命名为testnew.xml -->
<copy file="test.xml" tofile="dist/testnew.xml"/>
<!--目录复制:将dist目录拷贝到dist_copy -->
<copy todir="dist_copy"><!--指定要复制的目录--><fileset dir="dist"/>
</copy>
</project>
案例效果:
3.2.3、delete标签
删除一个(组)文件或者目录。
<!--删除一个文件-->
<delete file="/dist/test.xml"/>
<!--删除文件夹:方式一-->
<delete dir="dist"></delete>
<!--方式二:删除指定目录及其子目录,包括他自己includeEmptyDirs:即使是空目录也删除,如果不是true则只删文件,不删目录
-->
<delete includeEmptyDirs="true"><!--fileset 指定删除的目录和文件--><fileset dir="dist/lib"/>
</delete>
3.2.4 、move 标签
移动或重命名一个(组)文件、目录。
<!--移动或重命名一个文件-->
<move file="file.orig" tofile="file.moved"/>
<!--将一个目录移到另外一个目录下-->
<move todir="new/dir/to/move/to"><fileset dir="src/dir"/>
</move>
<!--移动文件过程中增加bak后缀-->
<move todir="dist/lib/.bak"><fileset dir="dist/lib/"><!--include包含,exclude不包含,即除了*.bak结尾的文件--><exclude name="*.bak"/></fileset><!--给符合的文件:非*.bak结尾的加上后缀--><mapper type="glob" from="*" to="*.bak"/>
</move>
案例效果:
3.3、Ant的类型集
在上面的案例中,我们接触到,fileset、exclude、mapper,这类标签。这类标签是Apache Ant提供的一些的类型集,我们可以使用它们来处理数据、文件、路径等,也可以用作服务。类型都具有id和refid这两个属性,id作为这个类型的唯一标识,而refid用于指定要引用的类型,指定refid为要引用的类型的id。官方文档中提供的类型:
常用的类型集:
类型 | 描述 |
---|---|
ClassFileSet | 用于创建具有所有必需类的Jar |
Description | 描述类型 |
DirSet | 对目录进行分组 |
FileList | 文件列表 |
FileSet | 一组文件 |
File Mapper Type | 用于映射源文件和目标文件 |
FilterSet | 一组过滤器 |
PatternSet | 定义模式集合(由ids 引用的一组模式) |
Selectors | FileSet元素有助于选择元素 |
TarFileSet | tar格式的文件集,它是FileSet的一种特殊形式,ant1.7起 |
ZipFileSet | zip格式的文件集,Since Ant 1.6,支持refid attribute |
其它:
类型 | 描述 |
---|---|
Extension/ExtensionSet | 表示一组扩展的实用程序类型(设置扩展名) |
Permissions | 表示授予或撤销在运行ApacheAnt的JVM中执行的特定部分代码的权限。 |
都具有的属性:
类型 | 描述 |
---|---|
id | 类型的唯一标识 |
refid | 成为对别处定义的引用。指定要引用的类型,指定refid为要引用的类型的id |
3.3.1、ClassFileSet 类文件集
ClassFileSet 是FileSet的一种特殊类型,它包括根类所依赖的所有类文件。通常用于为特定的应用程序创建一个包含所有必需类的jar。类文件集通常通过引用来使用。它们使用id值声明,然后在需要使用普通文件集的地方将其用作引用。
使用案例:
1)步骤一:新建一个HelloWorld.java
在dist目录下新建com/cn/test目录,新建一个类。
2)步骤二:配置classFileType.xml
<project name="MyProject" default="cft" basedir="."><!--id="reqdClasses":为全局引用的iddir="dist/class: 为com目录的所在目录--><classfileset id="reqdClasses" dir="dist/class"><!--com.cn.test.HelloWorld 类文件集,使用整个文件夹*结尾也行--><root classname="com.cn.test.HelloWorld"/></classfileset><target name="cft" description="ClassFileSet Demo"><classfileset id="reqdClasses" dir="dist/class"><!--includes:需要打包的class文件,打入HelloWorld*.class(HelloWorld.class或其内部类等等)--><rootfileset dir="dist/class" includes="com/cn/test/HelloWorld*.class"/></classfileset><!--打包生成的jar包--><jar destfile="helloworld.jar"><fileset refid="reqdClasses"/></jar></target>
</project>
3)下载依赖包:
官网文档上提示:This type requires the BCEL
library.下载链接
扩展,如果需要其他功能,可以下载:
ant开发所用包 | 下载链接 | 描述 |
---|---|---|
bcel.jar | https://commons.apache.org/bcel/ | 注意版本:bcel-6.5.0需要jdk8,可以下载bcel-6.0 |
jython.jar | https://www.jython.org/ | Python with script task |
jakarta.mail.jar | https://eclipse-ee4j.github.io/mail/ | |
jruby.jar | https://jruby.org/ | Ruby with script task |
案例执行效果:
3.3.2、Description 描述类型
Description类型不包含任何参数,可在target内使用,也可以放在全局的构件文件中使用。
<description>This buildfile is used to build the Foo subproject within
the large, complex Bar project.
</description>
3.3.3、DirSet目录集
目录集是一组目录。这些目录可以在从基本目录开始的目录树中找到,并通过从许多模式集和选择器中获取的模式进行匹配。
模式集可以指定为嵌套的<patternset>元素。此外,DirSet持有隐式PatternSet,并直接支持<PatternSet>的嵌套<include>、<includefile>、<exclude>和<excludesfile>元素以及<PatternSet>的属性。
Attribute | Description | Required |
---|---|---|
dir | 拥有此DirSet的目录树的根 | Yes |
includes | 目录模式列表 | No; defaults to all directories |
includesfile | 要包含的文件的名称 | No |
excludes | 必须排除的目录模式列表 | No; defaults to none |
excludesfile | 要排除的文件的名称 | No |
casesensitive | 用于指定是否应该应用区分大小写 | No; defaults to true |
followsymlinks | 有一个符号链接可供遵循 | No; defaults to true |
erroronmissingdir | 它指定如果基本目录不存在,则要发生什么 | No; defaults to true (for backward compatibility reasons) |
例如:
<!--表示目录:${build.dir}下匹配所以的名字为apps/**/classes的目录且不包括名字为apps/**/*Test*的-->
<dirset dir="${build.dir}"><include name="apps/**/classes"/><exclude name="apps/**/*Test*"/>
</dirset>
<!--选择${workingdir}下包含${markerfile}的所有文件-->
<dirset id="dirset" dir="${workingdir}"><present targetdir="${workingdir}"><mapper type="glob" from="*" to="*/${markerfile}"/></present>
</dirset>
3.3.4 、FileList文件列表
FileList是显式命名的文件列表。文件集充当过滤器,只返回文件系统中存在且与指定模式匹配的文件,而文件列表对于指定可能存在或不存在的文件非常有用。多个文件被指定为相对于指定目录的文件列表,不支持通配符扩展(带有通配符的文件名将包含在列表中,且不会更改)。
Attribute | Description | Required |
---|---|---|
dir | 此文件列表的基目录 | Yes |
files | 文件名列表。这是用空格或逗号分隔的文件名列表。 | Yes, unless there is a nested file element |
refid | 要包含的文件的名称 | No |
使用案例:
<!--匹配:${doc.src}/foo.xml或${doc.src}/bar.xml-->
<filelist id="docfiles" dir="${doc.src}" files="foo.xml,bar.xml"/>
<!--或者把上面的类型放置在其他地方,而使用引用的方式匹配-->
<filelist refid="docfiles"/>
3.3.5、 FileSet一组文件
FileSet是一组文件。这些文件可以在从基本目录开始的目录树中找到,并通过从许多模式集和选择器中获取的模式进行匹配。模式集可以指定为嵌套的<patternset>元素。此外,文件集保存隐式模式集,并直接支持模式集的嵌套<include>、<includefile>、<exclude>和<excludesfile>元素以及模式集的属性。
Attribute | Description | Required |
---|---|---|
dir | 此文件列表的基目录 | Yes |
file | 用于指定单文件FileSet | No; defaults to yes |
defaultexcludes | 指示是否应使用默认排除 | No; defaults to all files |
includes | 必须包含的文件模式列表。 | No |
includesfile | 文件名,包含的 | No; |
excludes | 必须排除的文件模式列表 | No; |
excludesfile | 文件名,被排除的 | No; |
casesensitive | include 和exclude 模式都区分大小写。 | No; defaults to true |
followsymlinks | 应遵循符号链接 | No; defaults to true |
erroronmissingdir | 指定如果基目录不存在会发生什么情况。如果为true,将发生生成错误,如果为false,则文件集将被忽略/为空。自ApacheAnt 1.7.1以来 | No; defaults to true |
使用案例:
<!--方式一:匹配:${server.src}/及其子目录下的*.java但是排除包含Test的文件-->
<fileset dir="${server.src}" casesensitive="yes"><include name="**/*.java"/><exclude name="**/*Test*"/>
</fileset><!--方式二:也可以这样写-->
<fileset dir="${server.src}" casesensitive="yes"><filename name="**/*.java"/><not><filename name="**/*Test*"/></not>
</fileset><!--方式三:也可以这样写-->
<fileset dir="src" includes="${server.src}/"/>
3.3.6 、File Mapper Type文件映射类型
File Mapper类型用于指定文件间的相互关系。有时在执行任务后,源文件和输出都不同,然后不进行映射。 Apache Ant使用FileMapper
映射源和创建的目标文件。
Attribute | Description | Required |
---|---|---|
type | 用于指定一个具体的mapper实现的类型,Ant工具提供了内建支持,也可以编写Mapper类型的实现。type的类型很多,例如: identity、flatten、merge、glob、regexp、package、unpackage、composite、chained filtermapper、scriptmapper、firstmatchmapper、cutdirsmapper | No; |
classname | 通过classname属性指定一个Mapper的实现类,并通过这个实现类需要实现Mapper的功能。classname和type两者必选其一,不能同时为空 | No; Exactly one of type or classname |
classpath | 用于指定查找classname类型的Java类库,就是用于指定Java类依赖的classpath | No |
classpathref | 用于引用path元素定义的classpath,这个classpath提供了编译和运行所依赖的类库 | No |
from | 用于指定操作源、源文件的位置 | Depends on implementation |
to | 用于指定操作的目标 | Depends on implementation |
使用案例:
<!--type="identity" 什么都不做。fileset是什么就是什么;type="flatten" 目标文件名与源文件名相同,所有前导目录信息都被删除。(忽略路径只反文件名)type="merge" 合并,目标文件名始终相同。在git中它用来合并分支。type="glob" 加前缀和后缀type="regexp" from和to属性都需要并且定义正则表达式。type="package" 与glob语法相同,但是packagemapper会将匹配的源模式中的目录分隔符替换为“.”type="unpackage" Ant1.6引入,与glob语法相同,unpackage是package的反转。type="composite" Ant1.7引入,composite可以嵌套多个mapper。type="chained" Ant1.7引入,chained可以包含多个mapper。
-->
<!--merge:打包文件到archive.tar-->
<mergemapper to="archive.tar-->"/>
<!--glob,备份文件,这些类型都能用这两种方式-->
<!--方式一:将当前目录的所有的*.java,映射到目标目录*.java.bak-->
<mapper type="glob" from="*.java" to="*.java.bak"/>
<!--方式二:将当前目录的所有的*.java,映射到目标目录*.java.bak-->
<globmapper from="*.java" to="*.java.bak"/><!--filtermapper:Ant1.6.3引入,他的映射器实现将filterchain应用于源文件名-->
<filtermapper><replacestring from="\" to="/"/>
</filtermapper>
<!--Ant1.7引入,scriptmapper执行用支持Apache BSF或者JSR 223的语言编写的脚本。-->
<scriptmapper language="javascript">self.addMappedName(source.toUpperCase());self.addMappedName(source.toLowerCase());
</scriptmapper>
<!--Ant1.8引入,firstmatchmapper支持任意数量的mapper,返回第一个匹配的mapper的结果。-->
<firstmatchmapper><globmapper from="*.txt" to="*.bak"/><globmapper from="*A.*" to="*B.*"/>
</firstmatchmapper>
<!--cutdirsmapper:Ant1.8.2引入,从源文件名中去掉配置数量的目录。dirs="1"去掉第一层目录-->
<cutdirsmapper dirs="1"/>
3.3.7 、FilterSet 一组过滤器
FilterSet类型的作用是定义一组的文件过滤器。在移动或者复制文件时对文件的内容进行替换。FileSet类型可以在target外进行定义,并在target内进行引用。当然也可以在target内直接嵌套使用。
Attribute | Description | Required |
---|---|---|
begintoken | 定义一个特殊的字符,这个特殊字符用于指定要过滤的字符串的开始位置。默认为@,如@DATE@ | No |
endtoken | 定义一个特殊字符,这个特殊的字符用于指定要过滤的字符串的结束标识。默认为@,如@DATE@ | No |
filtersfile | 指定单个筛选器文件(file属性指定文件) | No |
recurse | 用于表明是否可以查找更多的替换标志,默认为true。 | No |
onmissingfiltersfile | 指示指定不存在的filtersfile时的行为。失败、警告、忽略之一。从Ant 1.7开始 | No |
在FilterSet类型中可以直接包含Filter类型,这个Filter定义具体的文件过滤器。
Attribute | Description | Required |
---|---|---|
token | 要替代的token的名字 | No |
value | 指定替代值,这个值可引用变量 | No |
使用案例:
1)在dist目录下新建一个aa.txt文本文件,内容如下:
-----开始替换默认模式@的起始位置
DATE
@DATE
@DATE@
----------结束位置
-----开始替换自定义模式%*的起始位置
DATE
%DATE
%DATE*
----------结束位置
2)编写配置文件copyfilter.xml
<project name="MyProject" default="" basedir=".">
<property name="TODAY" value="20211028" />
<!--目录复制:将dist目录拷贝到dist_copy -->
<copy todir="dist_copy"><!--匹配dist目录下的所有的txt文本--><fileset dir="dist"><include name="*.txt" /></fileset><!--会默认查找复制的文件中的@DATE@开头和结尾的字符替换成指定的value--><filterset><filter token="DATE" value="${TODAY}"/></filterset><!--我们可以指定属于自己的标识会默认查找复制的文件中的%DATE*开头和结尾的字符替换成指定的value--><filterset begintoken="%" endtoken="*"><filter token="DATE" value="${TODAY}"/></filterset>
</copy>
</project>
3)案例执行及其效果
3.3.8 、PatternSet 定义模式集合
PatternSet 类型可看作一个集合,在Ant构件文件中可以通过refid属性对已定义的PatternSet类型进行引用。PatternSet 类型可用于FileSet类型和DirSet类型中,用于定义文件或目录的匹配集合。
Attribute | Description | Required |
---|---|---|
includes | 用于指定PatternSet里所要包含的文件模式。这个属性可指定多个被包含的文件的模式,相当于用一个list来保存文件模式 | All files are included. |
includesfile | 用于指定要包含的具体的文件 | See includes |
excludes | 用于指定PatternSet中将不被包含的文件模式。这个属性与includes属性的作用刚好相反 | No files except default excludes are excluded. |
excludesfile | 用于指定不被包含的具体文件 | See excludes |
使用案例:
<!--匹配所以不包含名字为Test的java文件,还可以多个include-->
<patternset id="non.test.sources"><include name="**/*.java"/><exclude name="**/*Test*"/>
</patternset>
3.3.9 、Selectors 选择元素
selector类型可看作是FileSet类型中的一个元素,selector在FileSet类型内部使用,用于对文件进行筛选。使用selector类型时可以在target外定义selector类型,然后通过refid属性进行引用。不同的selector具有不同的属性,而且在一些selector中可以包含另外的selector,通常把这些能包含其他selector的selector看作selector容器。
Core Selectors:
selector | selector描述 |
---|---|
<contains> | 选择包含特定文本字符串的文件 |
<date> | 可用于选择文件的修改时间在某个特定的时间之前或之后的文件 |
<depend> | 用于比较两个不同目录下名称相同的文件,然后选择文件修改时间最迟的那个文件 targetdir属性:指定进行比较的目标文件目录。 granularity属性:用于指定一个文件修改时间的允许误差,取值为毫秒数 |
<depth> | 用于指定选择文件的文件目录的深度 |
<different> | 从两个目录中选择被认为不同的文件 |
<filename> | 选择符合指定文件匹配模式的文件 |
<type> | 指定要选择目录还是文件 |
<size> | 选择大于或小于特定字节数的文件 |
<readable> | 选择可读的文件 |
...官文上20个 |
使用案例:
1)新建三个html文件,两个包含/一个不包含<script>标签的文件;
2)新建:selectrq.xml
<project name="MyProject" default="dist" basedir="."><target name="dist" description="contains use"><!--复制文件到--><copy todir="dist_copy"><!--匹配文件dist/*html--><fileset dir="dist" includes="*.html"><!--选中文件中包含script的标签--><contains text="script" casesensitive="no"/></fileset></copy></target>
</project>
3)案例效果:
3.1.10、ZipFileSet zip格式的文件集
ZipFileSet类型可看作是一种特殊的FileSet类型。通过Ant工具内建的zip任务实现打包zip文件的功能。ZipFileSet具有两种不同的形式:
1)当ZipFileSet中的src属性被使用,那么目录src下的文件会以zip文件格式进行组织。
2)当ZipFileSet中的dir属性被使用,那么目录dir下的文件将以文件系统的形式进行组织。
Attribute | Description | Required |
---|---|---|
prefix | 用于定义ZipFileSet中的文件路径的前缀,符合这个前缀的文件将被打包 | No |
fullpath | 用于定义ZipFileSet中包含的文件的全路径 | No |
src | 用于替代当前的目录位置,这个src指定目录下的文件将以zip文件的格式进行打包 | No |
filemode | 用于定义文件的权限形式,在UNIX或Linux下使用。 | No; default is 644 |
dirmode | 用于定义目录的权限形式,在UNIX或Linux下使用 | No;default is 755 |
encoding | 指定zip文件中的文件名使用的字符编码 | No; default JVM character encoding |
erroronmissingarchive | 指定如果存档不存在会发生什么情况。如果为true,将发生生成错误; | No; defaults to true,Ant 1.8.0 |
使用案例:
1)在dist目录有三个html文件和一个包含index.html的压缩包examples.zip。
2)编写zip.xml
<project name="MyProject" default="dist" basedir="."><target name="dist" description="zip demo"><zip destfile="dist/myhtml.zip"><!--以zip的形式(myhtml.zip)打包dist目录下的html文件到deploy目录下--><zipfileset dir="dist" prefix="deploy" includes="*.html"/><!--并且添加zip.xml文件到deploy目录下一起打包--><zipfileset dir="." includes="zip.xml" fullpath="deploy/zip.xml"/><!--同时以zip的形式(com.zip)打包dist/class/目录下的所有文件到deploy/src目录下--><zipfileset src="dist/examples.zip" includes="**/*.html" prefix="src/"/></zip></target>
</project>
3)执行ant命令及案例效果
3.1.11、TarFileSet tar格式的文件集
ant1.7起,TarFileSet已经做为独立的类型。可以为tarfileset定义一个id属性,并且通过refid来对其进行引用。tarfileset是特殊格式的fileset,具有两种不同的形式:
1)当使用src属性或嵌套资源集合时,tarfileset用src中找到的文件做为tar条目。
2)当使用dir属性时,tarfileset用dir下找到的文件系统文件做为tar条目。
Attribute | Description | Required |
---|---|---|
prefix | 用于定义TarFileSet 中的文件路径的前缀,符合这个前缀的文件将被打包 | No |
fullpath | 用于定义TarFileSet 中包含的文件的全路径 | No |
src | 用于替代当前的目录位置,这个src指定目录下的文件将以tar文件的格式进行打包 | No |
filemode | 用于定义文件的权限形式,在UNIX或Linux下使用。 | No; default is 644 |
dirmode | 用于定义目录的权限形式,在UNIX或Linux下使用 | No;default is 755 |
username | tar条目的用户名,与UID不同 | No |
group | tar条目的组名 | No |
使用案例:
<!--下载归档文件some-archive.tar.bz2,动态解压缩它,将lib目录的内容复制到some目录中,并丢弃归档文件的其余部分-->
<copy todir="some-dir"><tarfileset includes="lib/**"><bzip2resource><url url="https://example.org/dist/some-archive.tar.bz2"/></bzip2resource></tarfileset>
</copy>
3.4、Ant其他常见的一些用法说明
3.4.1、available 任务
Attribute | Description | Required |
---|---|---|
property | 要设置的属性的名称。 | Yes |
value | 要设置属性的值. Defaults to "true". 默认是true | No |
classname | class类的类名称 | Yes |
file | 文件路径 | |
resource | The resource to look for in the JVM.看在JVM的资源。 | |
classpath | The classpath to use when looking upclassname orresource .用于当有classname和resource属性的时候 | No |
filepath | The path to use when looking up file . 路径当有file节点的时候 | No |
classpathref | The classpath to use, given as a reference to a path defined elsewhere.classpath中使用,因为在别处定义的路径作为一个参考。 | No |
type | The type of file to look for, either a directory (type="dir" ) or a file (type="file" ). If not set, the property will be set if the name specified in the file attribute exists as either a file or a directory. | No |
<!--如未显示指定value,当检查到被评定的东西,property的值默认为true-->
<available property="属性名" file | classname | resource = "被判定是否存在的东西" value="给属性名显示指定一个值"/>
使用案例:
<project name="MyProject" default="dist" basedir="."><property name="a" value="a"/><property name="b" value="b"/><property name="a,b" value="c"/><!--这里的if="a,b"是一个,并不是两个,匹配到了,打印出a--><target name="dist" description="zip demo" if="a,b"><echo>${a}</echo></target>
</project>
3.4.2、native2ascii 任务
<!--将配置文件(*.xml)转为.properties文件ext:重命名输出文件时使用的文件扩展名
-->
<native2ascii encoding="GBK" src="config" dest="WEB-INF" includes="*.xml"ext=".properties" />
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- python绘制TSP官方实例
git: https://github.com/cugcuiyc/tsp-plotter 适配GA-EAX获得的最优解: TSP官方实例: 需要以上两个文件,即可自动生成所有最优解对应的图片:...
2024/4/18 14:54:34 - 友盟登陆
1:去友盟下载jar和相关文件2:导入工程3:配置信息 注意代码这里配置的回调地址需要和微博开放平台授权回调页保持一致 PlatformConfig.setWeixin("wxa7a60fb129dce8a2", "595ec15ae27a4d208292605d53de74cf"); 清单文件配置:友盟的appkey等和微信的回调…...
2024/4/15 5:17:49 - 26.C语言 数据结构二 : 栈
先进后出 后进先出 #include <stdio.h> #include <stdlib.h>#define SIZE 10typedef struct Student{int id;char *name; }Data;//定义栈结构 typedef struct stack{Data data[SIZE];//栈数据int top; //栈顶}SeqStack;SeqStack *init(){SeqStack *p;if(p …...
2024/4/19 21:53:02 - ACWING Django第二课(搭建开发环境)
通过vim在云服务器上的docker容器镜像中开发django代码,并配置git到gitlab,并通过本地浏览器访问测试,达到所写即所得的开发体验。 所用技术: vim, tmux, python/django, git, docker 通过写一个view和urls,将我们的项目跑起来&…...
2024/4/15 5:18:45 - C/S架构的优点和缺点
C/S架构的优点和缺点 优势: 1.C/ S体系结构的接口和操作可以非常丰富。 2 .安全属性可以轻松保证,实现多层认证并不困难。 因为只有一层交互,所以反应速度快。 缺点: 1适用范围窄,通常适用于局域网。 2固定用户组。因为该程序需要安装…...
2024/4/15 5:18:45 - 【Coding】LeetCode刷题记录
常用数据结构1. 集合2. 排序3. 二分- 模板[33. 搜索旋转排序数组](https://leetcode-cn.com/problems/search-in-rotated-sorted-array)[34. 在排序数组中查找元素的第一和最后一个位置](https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-…...
2024/4/16 10:03:42 - c语言除法怎么保留小数
如:1/2的结果和1.0/2的结果就不同 因为没有定义1/2为浮点型,所以1/2自动取整, 结果等于0 而1.0/2,由于预先用浮点型表示 其结果显然为:0.5 例: #include <stdio.h>int main(){ int a[5],n2,m…...
2024/4/15 5:18:35 - 学习Spring的第4天
学习Spring的第4天 Resource Autowired 区别: 1、Autowired是Spring自己的注解,最强大 2、Resource 是J2EE的。java的标准 因为Resource是标准,所以它的扩展性很强。即使你的容器用的不是Spring。切换为另一个框架,Resource照样…...
2024/4/15 5:18:50 - 延迟加载源码剖析:
延迟加载 就是在需要⽤到数据时才进⾏加载,不需要⽤到数据时就不加载数据。延迟加载也称懒加载。 优点: 先从单表查询,需要时再从关联表去关联查询,⼤⼤提⾼数据库性能,因为查询单表要⽐关联查询多张表速度要快。 缺…...
2024/4/18 4:22:02 - vue3.x 基础学习.2
props验证 props验证指的是在封装组件时对外界传递过来的props数据进行合法性的校验,从而防止数据不合法的问题 (1)使用对象类型的props节点,可以对每个props进行数据类型的校验,例如: Props: { Count:N…...
2024/4/15 5:18:40 - 2021-11-04
源码文档翻译英语语法五种基本句式Be动词的形式Be动词的否定、提问、回答主格代词 I he she it you we they宾格代词 me him her it you us them名词性 形容词性物主代词形容词性的物主代词 *谁的*名词性物主代词反身代词(某人自己)实意动词实意动词的否定 提问 回答疑问代词的…...
2024/4/18 16:25:12 - Java流程控制(二)
If语句 作用:判断是否可行后,去执行下面语句。 语法:if(布尔表达式){ // 判断为True将执行的语句 } else{ // 判断为False将执行的语句 } If多选择结构 基本语法 if(布尔表达式1){ // 如果布尔表达式1为True将执行的语句 }else if(…...
2024/4/19 22:11:35 - 系统架构面临的三大挑战,看 Kubernetes 监控如何解决?
作者|炎寻 审核&校对:白玙 编辑&排版:雯燕 大家好,我是阿里云云原生应用平台的炎寻,很高兴能与大家继续分享 Kubernetes 监控系列公开课。前两期公开课我们讲到了 Vol.1《通过 Kubernetes 监控探索应用架构&a…...
2024/4/15 5:18:40 - Gin加载静态html img文件
package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {r : gin.Default()// 加载静态文件r.Static("/images", "./images")// StaticFS works just like Static() but a custom http.FileSystem can be used inst…...
2024/4/20 11:38:42 - java学习p221
public class a1 {public static void main(String[] args) {Tool t1 new Tool();int day 1;int peachNum t1.peach(day);if (peachNum -1) {System.out.println("天数不正确");}else {System.out.println("第" day "天的桃子数为 " peac…...
2024/4/20 17:21:17 - 【嵙大OJ】Problem F: 三角形数
Description 古希腊著名科学家毕达哥拉斯把数目为1,3,6,10,15,21……这些数量的石子,都可以排成三角形,像这样的数称为三角形数。例如,前4个三角形数可以排成如下三角形 现在你编程序…...
2024/4/7 0:42:17 - Java流程控制(一)
Scanner 作用:实现人机交互,记录外部输入数据。 基本语法: Scanner scanner new Scanner(System.in); 基本接收类型:next()和nextLine() 基本判别:hasNext()和hasNextLine() next()和nextLine()的区别 next()中不…...
2024/4/17 15:55:54 - ubuntu启动摄像头
sudo apt-get install guvcview guvcview -d /dev/video...
2024/4/15 5:18:40 - 3dmax+vray学习教程
COMPLETE LATEST V-RAY 2022 for 3DS MAX with 20 experienced 时长3h 30m 1280X720 MP4 语言:语言:英语中英文字幕 大小解压后:2.72G 拥有20多年丰富经验的3DS MAX的完整最新V-RAY 2022 信息: 你会学到什么 完整的材料编辑器 3DS MAX 2022的…...
2024/4/19 8:23:50 - Kafka如何保证数据的可靠性Kafka集群
目录 一、Kafka数据存储方式 名词解释 分区分步示意图 Kafka数据存放 Kafka如何通过offset查找到Message 二、Kafka如何确保数据不丢失 三、Kafka可以支持高吞吐量的原因 四、Kafka选举策略 什么是ISR 什么是LEO、LSO、HW、LW 数据更新过程 Follwer同步数据 分区 …...
2024/4/20 2:29:17
最新文章
- 【前端】用CSS实现div全屏铺满的方式
在网页设计和开发中,有时我们需要让一个div元素全屏铺满整个浏览器窗口,以实现更加吸引人的视觉效果或者更好地适配不同设备的屏幕大小。 最近遇到一个需求,需要将一个div自动铺满全屏,width会默认铺满,所以不用考虑&…...
2024/4/20 19:18:13 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 理解 Golang 变量在内存分配中的规则
为什么有些变量在堆中分配、有些却在栈中分配? 我们先看来栈和堆的特点: 简单总结就是: 栈:函数局部变量,小数据 堆:大的局部变量,函数内部产生逃逸的变量,动态分配的数据&#x…...
2024/4/17 14:47:05 - __dirname 在ES模块中的使用
前言 ECMAScript模块是 JavaScript 的新标准格式。在Node.js中越来越多的库逐渐从从CommonJS转移到ES模块 注:这里是指“真”ES 模块并不是指代码中 Node.js 中使用 import 写法但是实际被 tsc 转成 commonJS 的形式 但是Node.js ES 开发中此前有一个棘手的问题是获…...
2024/4/17 8:07:25 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/19 14:24:02 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/19 18:20:22 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/19 11:57:31 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/19 11:57:31 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/19 11:57:52 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/19 11:57:53 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/19 11:58:14 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/19 11:58:20 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/20 7:40:48 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/19 11:58:39 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/19 11:58:51 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/20 3:12:02 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/19 11:59:15 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/19 11:59:23 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/19 11:59:44 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/19 11:59:48 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/19 12:00:06 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/19 16:57:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/19 12:00:25 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/19 12:00:40 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57