compile相关知识
-
如何使用SQL Server的OPTION(COMPILE)?前言上一篇我们探讨了在静态语句中使用WHERE Column = @Param OR @Param IS NULL的问题,有对OPTION(COMPILE)的评论,那这节我们来探讨OPTION(COMPILE)的问题。探讨OPTION(COMPILE)问题在SQL SERVER中任何时候第一次调用存储过程时,此时存储过程将会被SQL SERVER优化且查询计划在内存中会被缓存。由于查询计划缓存,当运行相同的存储过程时,它都将使用相同的查询计划,从而无需每次运行时对同一存储过程进行优化和编译。因此,如果我们需要每天运行相同的存储过程若干次,那么可以节省大量的时间和硬件资源。如果每次运行的存储过程中的在WHERE子句中具有相同的参数,则重复使用存储过程的相同查询计划是有意义的。但是,如果运行相同的存储过程,但是参数的值会改变呢?发生什么取决于参数的典型性。如果存储过程的参数的值从执行到执行相似,那么缓存的查询计划将正常工作,查询将按照执行最佳来。但是,如果参数不是典型的,那么被重用的缓存查询计划可能不是最优的,
-
Unable to compile class for jsp 错误1.错误: 我们把自己本机的web项目部署到了云主机的tomcat上。之后通过浏览器访问时,出现 HTTP 500-Unable to compile class for JSP 的错误。 2.原因: 开发时所用的jdk版本以及本地测试时的tomcat版本比云主机上搭建的jdk版本以及tomcat版本低造成的。 3.解决: 根据JDK版本选择tomcat:一般选择与JDK版本相应的tomcat。JDK6,选择tomcat6、7、8、9。 tomcat的版本必须大于等于JDK的版本。
-
如何在Github发布自己的compile包我们经常在github上看到一些项目简介中介绍这个项目怎么引用:那我们怎么自己发布自己的compile包呢,首先我们新建一个带有子Module项目:在项目的gradle文件的dependencies中加入: classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'打开子module的gradle文件头上加入:apply plugin: 'com.github.dcendents.android-maven' group='com.github.trevonnling'然后上传项目到github,然后点击releases:点击create release:然后到https://jitpack.io网站里去查找这个项目: 比方说我的项目地址是:https://github.com/nickgao1986/RedDots 那么直接把这个拷贝到搜索框里:点击
-
【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)一 、首先是依赖 compile 'com.google.code.gson:gson:2.8.0' compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.yanzhenjie:permission:1.0.5' compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io
compile相关课程
compile相关教程
- 2. 使用 Babel 先创建一个带有 ES6 语法的 JS 文件:// index.jsconst fn = (a, b) => a + b;const added = fn(1, 2);然后修改一下 package.json 的 scripts 选项。// package.json"scripts": { "compile": "babel index.js"}保存后就可以进入终端,输入命令 npm run compile,npm 就会去执行 compile 对应的命令,也就是使用 Babel,对 index.js 文件进行编译。但执行后会发现代码并没有变成非 ES6 的代码,那是因为没有告诉 Babel 想要将现有代码编译成什么样的代码,这时候就需要提供一个配置文件。
- 2.1 babel 配置文件 在项目根目录新建一个 babel.config.js 的文件,以前的 Babel 版本对应的默认配置文件名是 .babelrc,Babel@7 之后官方更推荐使用 babel.config.js。然后安装一下 Babel 的预设配插件,Babel 提供了许多预设,官方命名为 Presets,现有的 Preset 非常多,如 preset-es2015、preset-es2016、preset-es2017,每一个对应了一个 ES 的版本,现在 ES 每年都会有一个版本,所以插件会越来越多。preset-env 这个预设为解决上述和一些其他问题而被官方推出,如果不给任何配置,这个 preset 的效果与 preset-latest 相同。所以要安装一下 @babel/preset-env 这个预设。npm i @babel/preset-env -D然后修改配置文件:// babel.config.jsmodule.exports = { presets: [ '@babel/preset-env', ],};告诉 Babel,presets 使用 @babel/preset-env,presets 配置项是个数组,可以有多个 presets,目前只用到一个。做好这些工作,再去命令行跑 npm run compile:现在这样就成功的把 ES6 代码编译成了 ES5。但现在代码并没有输出成文件,而是直接显示在了终端里,最好是能输出到一个文件里,这个需求改下命令就能做到。// package.json"scripts": { "compile": "babel index.js -o index.compiled.js"}增加 -o 参数,表示要输出到哪个文件,然后再执行 npm run compile:为什么 npm run compile 可以去调用 babel 命令行工具?在 node_modules 下有个 .bin 目录,在执行一个命令的时候,npm 会先去 node_nodules/.bin 下找对应的命令行工具,如果有就会调用执行。而 babel 会出现在 .bin 目录下,又与 babel 项目中的 package.json 文件的 bin 配置项有关,具体的可以再去官方文献中扩展。
- 2.1 编译 编译语法aapt2 compile path-to-input-files [options] -o output-directory/在以下示例中,AAPT2 分别编译了名为 strings.xml 和 myImage.png 的资源文件:aapt2 compile project_root/module_root/src/main/res/values-en/strings.xml -o compiled/aapt2 compile project_root/module_root/src/main/res/drawable/myImage.png -o compiled/如上表中所示,输出文件的名称取决于输入文件的名称及其父目录(资源类型和配置)的名称。对于以 strings.xml 作为输入的上述示例,aapt2 会自动将输出文件命名为 values-en_strings.arsc.flat。另一方面,存储在 drawable 目录中的已编译可绘制对象文件的文件名将为 drawable_img.png.flat。编译选项命令选项说明-o指定已编译资源的输出路径。–dir指定要在其中搜索资源的目录。–pseudo-localize生成默认字符串的伪本地化版本,如 en-XA 和 en-XB。–no-crunch停用 PNG 处理。–legacy将使用早期版本的 AAPT 时允许的错误视为警告。-v启用详细日志记录。
- 2.1 添加依赖包 打开项目的 pom.xml 文件,在其中添加如下内容:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.1</version></dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version></dependency><!-- 数据库驱动包 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.1.1</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.13.RELEASE</version> <scope>compile</scope></dependency>Tips:Spring MVC 连接数据库时,需要添加 spring-jdbc 依赖包。
- 2. 使用 less 修改 package.json 中的 scripts 配置项。// package.json"scripts": { "compile": "lessc style.less style.css"},完成后再新建几个测试用的文件。一个是 index.html,另一个是 style.less。<!-- index.html --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>less</title> <link rel="stylesheet" href="style.css"></head><body> <div class="container"> 我是一个文本节点 <p>我是一个段落 <a href="//immoc.com">我是个超链接啦</a></p> </div></body></html>// style.less.container { color: red; p { color: blue; a { color: green; } }}index.html 中要引入 .css 文件,而不是 .less 文件。观察 compile 命令,意思就是 用less编译器将将 style.less 进行编译,然后输出到 style.css,所以 index.html 要引入 style.css。一切就绪后就 npm run compile !。执行后目录下就会多一个 style.css 文件。.container { color: red;}.container p { color: blue;}.container p a { color: green;}打开 index.html 就可以发现样式生效了。其实 style.less 的内容不解释,自己摸索也很容看出是什么意思,这是一种嵌套语法,通过嵌套的关系来对应节点的关系。嵌套 是最常用的特性,个人认为也是预处理器中最重要的特性,其实许多前端开发者也只会用到变量、嵌套两个特性。
- 2.2 编写插件案例 那接下来,我们就实际编写一个小插件来进行演示。首先,我们在存放代码的目录下执行命令 mvn archetype:generate (在 idea 中根据 archetype 来创建项目,效果相同),选择 maven-archetype-plugin 模板,然后依次按照提示输入 groupId 和 artifactId 等等信息。这里,我们为这个插件命名为 my-plugin,项目结构如下:接下来,我们就创建一个自己的 Mojo 类,叫做 SumFileMojo,这个目标用于统计当前项目中有多少个Java 类。并且,我们将原本的 MyMojo 类删掉。package com.mic.tech;import org.apache.maven.plugin.AbstractMojo;import org.apache.maven.plugin.MojoExecutionException;import org.apache.maven.plugin.MojoFailureException;import org.apache.maven.plugins.annotations.LifecyclePhase;import org.apache.maven.plugins.annotations.Mojo;import org.apache.maven.plugins.annotations.Parameter;import java.io.File;import java.util.Objects;/** * @Auther: Uncle Biao * @Date: 2020/6/9 23:37 * @Description: */@Mojo(name = "sumFileCount",defaultPhase= LifecyclePhase.COMPILE)public class SumFileCountMojo extends AbstractMojo { @Parameter(property = "path") private String path; /** * java文件数量 */ int javaFileCount = 0; @Override public void execute() throws MojoExecutionException, MojoFailureException { System.out.println(countJavaFile(path)); } public String countJavaFile(String path){ File file = new File(path); if (file.exists()) { File [] files = file.listFiles(); if(Objects.isNull(files)){ for(int i=0 ; i < files.length ; i++){ File currentFile = files[i]; if(currentFile.isFile()){ String fileName = currentFile.getName(); String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); if("java".equals(suffix)){ javaFileCount ++; } }else{ countJavaFile(currentFile.getAbsolutePath()); } } } } return "number of Java File is " + javaFileCount; }}编码完成后,我们执行 mvn clean install 命令将插件构建到本地仓库中去。接下来,我们可以在 mall 项目中加入该插件的依赖,并且为该插件配置执行目标。<plugin> <groupId>com.mic.tech</groupId> <artifactId>my-plugin</artifactId> <version>1.0.0-SNAPSHOT</version> <configuration> <path>${project.basedir}</path> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>sumFileCount</goal> </goals> </execution> </executions></plugin>依赖添加完成后,在 mall-order 模块下执行命令 mvn compile 便可以看到统计出来 Java 文件的数量。至此,我们编写了一个简单的插件,用于统计项目中 Java 文件的数量。
compile相关搜索
-
c 正则表达式
c string
c 编程
c 程序设计
c 程序设计教程
c 多线程编程
c 教程
c 数组
c 委托
c 下载
c 线程
c 语言
caidan
cakephp
call
calloc
calu
camera
caption
case语句