Ant-2

             ANT打包编译部署工具学习笔记

1.安装apache-ant-1.5.4或其他版本

2.配置环境变量:

    ANT_HOME=ant安装目录   

    PATH=%PATH%;%ANT_HOME%\bin                                                                                              

3.build.xml 

<!--Ant(another neat tool---另一个整洁的工具)-->

<?xml version="1.0"?>

<project default="dist" name="Project A">

    <description>

        一段描述信息,没有实际作用。

    </description>

    <!--property 元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。

                一般用 value 给其赋值,这里用 location 代替 value 是因为 location 属性专门设

                计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->

    <property name="srcDir" location="."/>

    <property name="buildDir" location="classes"/>

    <property name="distDir" location="dist"/>

    

    <!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project 元素的 default 属性决定要执行的任务-->

    <target name="init" description="在元素中指定描述信息!">

        <echo message="这里的信息将被输出到控制台!">

        <!--tstamp 元素一般不定义属性和内容,不产生任何输出;相反,它根据当前系统时间和日期设置 Ant 以下属性:

        属性                说明                                    例子

        DSTAMP            设置为当前日期,默认格式为yyyymmdd        20031217

        TSTAMP            设置为当前时间,默认格式为hhmm            1603

        TODAY            设置为当前日期,带完整的月份            2003 12 17 -->

        <tstamp/>

        <!--mkdir 元素用来创建目录 dir 属性用来指定目录路径-->

        <!--delete 元素用来删除目录 ${buildDir} 引用 property 元素指定的 name 为 buildDir 的属性变量-->

        <mkdir dir="${buildDir}"/>

        <mkdir dir="${distDir}"/>

        <!--文件操作:

            <copy file="src/Test.java" tofile="src/TestCopy.java"/> 把文件 Test.java 拷贝一份 TestCopy.java 

            <move file="src/Test.java" tofile="src/TestCopy.java"/> 把文件 Test.java 重新命名为 TestCopy.java

            <copy file="src/Test.java" todir="archive"/> 把文件 Test.java 从 src 目录复制一份到 archive 目录下

            <move file="src/Test.java" todir="archive"/> 把文件 Test.java 从 src 目录下移动到 archive 目录下

            <replace file="input.txt" token="old" value="new"/>replace 任务,它执行文件中的查找和替换操作。

            token 属性指定要查找的字符串,

            value 属性指定一个新的字符串,

            查找到的标记字符串的所有实例都被替换为这个新的字符串.

            替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把 summary 属性设置为

            true。这将导致该任务输出找到和替换的标记字符串实例的数目。

            <copy todir="archive">---使用模式匹配复制多个文件

                <fileset dir="src">--fileset 代替 file 属性

                    <include name="*.java"/>--包含 src 目录下所有的 *.java 文件

                    <exclude name="*.class"/>--不包含 src 目录下所有的 *.class 文件

                </fileset>

            </copy>-->

    </target>

    <!--target 元素的 depends 属性用来设置多个 target 元素之间的依赖关系,如果要执行某个任务,必须先执行 depends 属性指定的所有

        它所依赖的 target 元素,只有它所依赖的所有 target 元素都执行完了才能执行它自己-->

    <target name="com" depends="init">

        <!--javac 元素把 srcdir 指定目录下所有 *.java 文件编译成 *.class 文件到 destdir 指定的目录下!

            如果不指定 destdir 属性,那么默认编译到同一目录下。其他属性:

             classpath:等价于javac -classpath 选项。

             debug="true":指示编译器应该带调试信息编译源文件。

             fork="true":当你希望指定编译器的某些内存选项,或者需要使用一种不同级别的编译器的时候。该属性设置为“true”

             executable="d:sdk141injavac":指定一个不同的 javac 可执行文件。

             memoryMaximumSize="128m":向上边指定的 javac 传递一个最大内存设置-->

        <javac srcdir="${srcDir}" destdir="${buildDir}"/>

    </target>

    <target name="dist" depends="com">

        <!--jar 元素:在编译 Java 源文件之后,结果类文件通常被打包到一个 JAR 文件中,这个文件类似 zip 归档文

            件。每个 JAR 文件都包含一个清单文件,它可以指定该 JAR 文件的属性。

            还可以把目录下的所有内容打包为 WAR 文件

            destfile:打包后的文件全名

            basedir:要打包的文件路径-->

        <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">

            <!--manifest 属性允许指定一个用作该 JAR 文件的清单的文件。清单文件的内容还可以使用 manifest

                任务在生成文件中指定。这个任务能够像文件系统写入一个清单文件,或者能够实际嵌套在 jar 

                内,以便一次性地创建清单文件和 JAR 文件。-->

            <manifest>

                <attribute name="Built-By" value="${user.name}"/>

                <attribute name="Main-Class" value="package.Main"/>

            </manifest>

        </jar>

        <jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>

    </target>

    <target name="zip" depends="dist">

        <!--zip 元素用来创建 zip 包,和 jar 元素相似-->

        <zip destfile="output.zip" basedir="output"/>

        <!--相同的语法也可用于创建 tar 文件。 还可以使用 GZip 和 BZip 任务来压缩文件。-->

        <tar destfile="output.tar" basedir="output"/>

        <gzip src="output.tar" zipfile="output.tar.gz"/>

        <!--解压缩和提取文件同样也很简单.-->

        <unzip src="output.tar.gz" dest="extractDir"/>

        <!--还可以包括 overwrite 属性来控制覆盖行为。默认设置是覆盖与正在被提取的归档文件中的条目相

            匹配的所有现有文件。相关的任务名称是 untarunjargunzip 和 bunzip2-->

    </target>

    <!--编写一个 clean目标来从目标目录移除生成的任何类文件是个很好的习惯。如果想要确

        保所有源文件都已编译,就可以使用这个任务。这种行为刻画了 Ant 的许多任务的特点:

        如果某个任务能够确定所请求的操作不需要执行,那么该操作就会被跳过。-->

    <target name="clean">

        <delete dir="${buildDir}"/>

        <delete dir="${distDir}"/>

    </target>

</project>

 
具体
基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
解决 `.ant-table.ant-table-middle .ant-table-tbody > tr > td, .ant-table.ant-table-middle tfoot > tr > th, .ant-table.ant-table-middle tfoot > tr > td { padding: 1px 8px; }` 样式代码未生效的方法如下: #### 使用!important 修饰符 在样式中添加 `!important` 可以提高样式的优先级,强制应用该样式。 ```css .ant-table.ant-table-middle .ant-table-tbody > tr > td, .ant-table.ant-table-middle tfoot > tr > th, .ant-table.ant-table-middle tfoot > tr > td { padding: 1px 8px!important; } ``` #### 检查样式加载顺序 确保自定义的样式在 Ant Design 样式之后加载,因为后加载的样式会覆盖之前的样式。在 HTML 文件中,将自定义样式的 `<style>` 标签或 `<link>` 标签放在 Ant Design 样式之后。 ```html <link rel="stylesheet" href="antd.css"> <style> .ant-table.ant-table-middle .ant-table-tbody > tr > td, .ant-table.ant-table-middle tfoot > tr > th, .ant-table.ant-table-middle tfoot > tr > td { padding: 1px 8px; } </style> ``` #### 使用更具体的选择器 增加选择器的特异性,使样式更具针对性。例如,可以结合父元素的类名或 ID 来提高选择器的优先级。 ```css .parent-class .ant-table.ant-table-middle .ant-table-tbody > tr > td, .parent-class .ant-table.ant-table-middle tfoot > tr > th, .parent-class .ant-table.ant-table-middle tfoot > tr > td { padding: 1px 8px; } ``` #### 检查 DOM 结构 确保 DOM 结构符合选择器的要求,检查是否有动态生成的元素或嵌套结构影响了样式的应用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值