当前位置: 首页 > news >正文

老干部局网站建设建设网站用凡科怎么样

老干部局网站建设,建设网站用凡科怎么样,网站开发报价模版,太原在线网站建设相信使用Java的同学都用过Maven#xff0c;这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven#xff0c;可能会发现Maven有一些地方用的让人不太舒服#xff1a; Maven的配置文件是XML格式的#xff0c;假如你的项目依赖的包比较多#xff0c;那么XML文件就…相信使用Java的同学都用过Maven这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven可能会发现Maven有一些地方用的让人不太舒服 Maven的配置文件是XML格式的假如你的项目依赖的包比较多那么XML文件就会变得非常非常长XML文件不太灵活假如你需要在构建过程中添加一些自定义逻辑搞起来非常麻烦Maven非常的稳定但是相对的就是对新版java支持不足哪怕就是为了编译java11也需要更新内置的Maven插件。 如果你对Maven的这些缺点也有所感触准备尝试其他的构建工具那么你可以试试gradle这是一个全新的java构建工具解决了Maven的一些痛点。 一、为什么使用gradle 看到这里你应该对gradle有了基本的了解 也可以将其用于你的项目之中。但是如果你Maven已经非常熟悉了可能不太愿意使用gradle因为貌似没有必要。但是既然gradle出现了就说明有很多人对Maven还是有一定的意见。因此在这里我来总结一下gradle相比maven的优势。 1. 速度 gradle使用构建缓存、守护进程等方式提高编译速度。结果就是gradle的编译速度要远超maven平均编译速度比Maven快好几倍而且项目越大这个差距就越明显。 2. 灵活性 gradle要比Maven灵活太多虽然有时候灵活并不是一件好事情。但是大部分情况下灵活一点可以极大的方便我们。Maven死板的XML文件方式做起事情来非常麻烦。很多Maven项目都通过执行外部脚本的方式来完成一些需要灵活性的工作。而在gradle中配置文件就是构建脚本构建脚本就是编程语言groovy编程语言完全可以自给自足无需外部脚本。 3. 简洁性 完成同样的功能gradle脚本的长度要远远短于maven配置文件的长度。虽然很多人都说XML维护起来不麻烦但是我觉得维护一个光是依赖就有几百行的XML文件不见得就比gradle脚本简单。 也许是因为我上面说的原因也许有其他原因不得不承认的一件事情就是gradle作为一个新兴的工具已经有了广泛的应用。spring等项目已经从Maven切换到了gradle。开发安卓程序也只支持gradle了。因此不管是否现在需要将项目从maven切换到gradle但是至少学习gradle是一件必要的事情。 二、使用gradle wrapper 这里我使用的IDEA来创建和使用gradle项目。 IDEA默认就会使用gradle wrapper来创建项目所以无需安装gradle也可以正常运行。这时候项目结构应该类似下图所示使用Maven的同学应该比较熟悉因为这和Maven的项目结构几乎完全一致。 gradle文件夹和gradlew那几个文件就是gradle wrapper的文件而.gradle后缀名的文件正是gradle的配置文件对应于Maven的pom.xml。 **GradleWrapper实际上就是对Gradle的一层包装**它的优点之一就是可以自定义下载的gradle的版本如果是团队协作的话这个功能就非常方便简单设置即可统一团队的构建工具版本。这里我就设定成目前最新的gradle 6.4.默认下载安装的是bin版仅包含二进制。如果你使用IDEA的话它会推荐下载all版包含源代码这样IDEA就可以分析源代码提供更加精确的gradle脚本支持。 三、 安装 gradle 3.1 下载安装包 Gradle官网https://gradle.org/ Gradle官方下载安装教程页面https://gradle.org/install/ Gradle官方用户手册https://docs.gradle.org/current/userguide/userguide.html 3.2 安装JDK Gradle 运行环境必须再JDK1.8以上 java -version java version 1.8.0_151 Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)3.3 配置gradle 环境变量 Linux MacOS users 配置PATH vi /etc/profile GRADLE_HOME/opt/gradle/gradle-8.0.1 export PATH$PATH:$GRADLE_HOME/bin source /etc/profileMicrosoft Windows users 添加环境变量GRADLE_HOME E:\Program Files\gradle-8.0.1 添加 PATH %GRADLE_HOME%\bin 配置 GRADLE_USER_HOME GRADLE_USER_HOME变量的值是本地仓库目录用来保存gradle下载的依赖包。 全局远程仓库配置在解压的文件夹E:\Program Files\gradle-8.0.1\init.d中新建文件init.gradle下文有个介绍填充以下内容 allprojects {repositories {maven {url https://maven.aliyun.com/repository/public}maven {url https://maven.aliyun.com/repository/jcenter}maven {url https://maven.aliyun.com/repository/spring}maven {url https://maven.aliyun.com/repository/spring-plugin}maven {url https://maven.aliyun.com/repository/gradle-plugin}maven {url https://maven.aliyun.com/repository/google}maven {url https://maven.aliyun.com/repository/grails-core}maven {url https://maven.aliyun.com/repository/apache-snapshots}} }**项目级别远程仓库配置**在每个gradle构建的项目中 的build.gradle文件中新增配置 repositories { maven { url http://maven.aliyun.com/nexus/content/groups/public/ } mavenCentral() }3.4 验证 ❯ gradle -v------------------------------------------------------------ Gradle 8.0.1 ------------------------------------------------------------(environment specific information)四、init.gradle介绍 init.gradle文件在build开始之前执行所以你可以在这个文件配置一些你想预先加载的操作例如配置build日志输出、配置你的机器信息比如jdk安装目录配置在build时的账户鉴权信息比如仓库或者数据库的认证信息等等 启用init.gradle文件的方法 1、在命令行指定文件例如gradle –init-script yourdir/init.gradle -q taskName你可以多次输入此命令来指定多个init文件。 2、把以.gradle文件放到USER_HOME/.gradle/目录下。例如init.gradle文件。 3、把以.gradle结尾的文件放到USER_HOME/.gradle/init.d/目录下。例如init.gradle文件。 4、把以.gradle结尾的文件放到GRADLE_HOME/init.d/目录下。例如init.gradle文件。 如果存在上面的4种方式的2种以上gradle会按上面的1-4序号依次执行这些文件如果给定目录下存在多个init脚本.gradle文件会按拼音a-z顺序执行。 五、Gradle项目目录结构 Gradle项目 默认目录结构和Maven项目的目录结构一致 ,都是基于 约定大于配置【ConventionOverConfiguration】。其完整项目目录结构如下所示 重点关注build.gradle settings.build 只有war工程才有webapp目录对于普通的jar工程并没有webapp目录gradlew与gradlew.bat执行的指定wrapper版本中的gradle指令,不是本地安装的gradle指令哦。 ❶ 当前项目的配置脚本 ➋ Gradle Wrapper 的执行jar包后续介绍 ➌ Gradle Wrapper 的配置文件 ➍ Gradle Wrapper Unix 系执行脚本 ➎ Gradle Wrapper Windows 系执行脚本 ➏ 项目脚本设置 六、Gradle 中的常用指令 Gradle常用指令作用gradle clean清空build目录gradle classes编译业务代码和配置文件gradle test编译测试代码生成测试报告gradle buid构建项目gradle build -x test跳过测试构建 注意gradle 的指令要在含有build.gradle的目录执行。 6.1 **查看项目的任务依赖 **gradle dependencies 要查看项目的依赖关系图我们可以运行以下命令 $ gradle dependencies ......省略部分输出....... kaptTestRelease \--- org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.2.51--- org.jetbrains.kotlin:kotlin-stdlib:1.2.51| --- org.jetbrains.kotlin:kotlin-stdlib-common:1.2.51| \--- org.jetbrains:annotations:13.0\--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.51--- org.jetbrains.kotlin:kotlin-stdlib:1.2.51 (*)\--- org.jetbrains.kotlin:kotlin-script-runtime:1.2.51lintChecks - Configuration to apply external lint check jar No dependencies ......省略部分输出.......七、配置镜像 Maven官方仓库的下载速度非常慢所以一般我们要配置国内的镜像源。gradle在这方面和Maven完全兼容因此只需稍微配置一下镜像源即可使用Maven的镜像。如果你用gradle构建过项目应该就可以在用户目录的.gradle文件夹下看到gradle的相关配置和缓存。 之前wrapper下载的gradle也存放在该文件夹下位置是wrapper/dists。 而依赖的本地缓存在caches\modules-2\files-2.1文件夹下。目录结构和Maven的本地缓存类似都是包名版本号的方式但是gradle的目录结构最后一层和Maven不同这导致它们无法共用本地缓存。 言归正传在gradle中配置下载镜像需要在.gradle文件夹中直接新建一个init.gradle初始化脚本脚本文件内容如下。 这样一来gradle下载镜像的时候就会使用这里配置的镜像源下载速度会快很多。再加上gradle wrapper在中国设置了CDN现在使用gradle的速度应该会很快。 allprojects {repositories {maven {url https://maven.aliyun.com/repository/public}maven {url https://maven.aliyun.com/repository/jcenter}maven {url https://maven.aliyun.com/repository/spring}maven {url https://maven.aliyun.com/repository/spring-plugin}maven {url https://maven.aliyun.com/repository/gradle-plugin}maven {url https://maven.aliyun.com/repository/google}maven {url https://maven.aliyun.com/repository/grails-core}maven {url https://maven.aliyun.com/repository/apache-snapshots}} }当然如果你有代理的话其实我推荐你直接为gradle设置全局代理。因为gradle脚本实在是太灵活了有些脚本中可能依赖了github或者其他地方的远程脚本。这时候上面设置的下载镜像源就不管用了。 所以有条件还是干脆直接使用全局代理比较好。设置方式很简单在.gradle文件夹中新建gradle.properties文件内容如下。中间几行即是设置代理的配置项。当然其他几行我也建议你设置一下把gradle运行时的文件编码设置为UTF8增加跨平台兼容性。 org.gradle.jvmargs-Xmx4g -XX:MaxPermSize512m -XX:HeapDumpOnOutOfMemoryError -Dfile.encodingUTF-8 systemProp.http.proxyHost127.0.0.1 systemProp.http.proxyPort10800 systemProp.https.proxyHost127.0.0.1 systemProp.https.proxyPort10800 systemProp.file.encodingUTF-8 org.gradle.warning.modeall八、 Gradle创建第一个项目 启用 Gradle插件 配置gradle 配置 Gradle 用户路径默认环境变量 GRADLE_USER_HOME配置本地 Gradle 位置 build.gradle 默认配置脚本 plugins {id org.springframework.boot version 2.7.6id io.spring.dependency-management version 1.0.15.RELEASEid java }group com.admin version 0.0.1-SNAPSHOT sourceCompatibility 1.8repositories {mavenCentral() }dependencies {implementation org.springframework.boot:spring-boot-startertestImplementation org.springframework.boot:spring-boot-starter-test }test {useJUnitPlatform() }九、依赖管理 下面来看看gradle的依赖管理功能这也算是我们使用构建工具的主要目的之一了。这点也是gradle相较maven的优势之一了。相较于maven一大串的XML配置gradle的依赖项仅需一行。 dependencies {testImplementation junit:junit:4.13implementation com.google.code.gson:gson:2.8.6 }这里推荐一下Jetbrains的package search网站是寻找maven和gradle依赖包的最佳网站可以非常轻松的搜索和使用依赖项。 gradle依赖的粒度控制相较于Maven也更加精细maven只有compile、provided、test、runtime四种scope而gradle有以下几种scope 1.implementation默认的scope。implementation的作用域会让依赖在编译和运行时均包含在内但是不会暴露在类库使用者的编译时。举例如果我们的类库包含了gson那么其他人使用我们的类库时编译时不会出现gson的依赖。 2.api和implementation类似都是编译和运行时都可见的依赖。但是api允许我们将自己类库的依赖暴露给我们类库的使用者。 3.compileOnly和runtimeOnly这两种顾名思义一种只在编译时可见一种只在运行时可见。而runtimeOnly和Maven的provided比较接近。 4.testImplementation这种依赖在测试编译时和运行时可见类似于Maven的test作用域。 5.testCompileOnly和testRuntimeOnly这两种类似于compileOnly和runtimeOnly但是作用于测试编译时和运行时。 通过简短精悍的依赖配置和多种多样的作用与选择Gradle可以为我们提供比Maven更加优秀的依赖管理功能。 十、gradle的任务和插件 gradle的配置文件是一个groovy脚本文件在其中我们可以以编程方式自定义一些构建任务。因为使用了编程方式所以这带给了我们极大的灵活性和便捷性。打个比方现在有个需求要在打包出jar的时候顺便看看jar文件的大小。在gradle中仅需在构建脚本中编写几行代码即可。而在Maven中则需要编写Maven插件复杂程度完全不在一个水平。 当然Maven发展到现在已经存在了大量的插件提供了各式各样的功能可以使用。但是在灵活性方面还是无法和Gradle相比。而且Gradle也有插件功能现在发展也十分迅猛存在了大量非常好用的插件例如gretty插件。gretty原来是社区插件后来被官方吸收为官方插件可以在Tomcat和jetty服务器上运行web项目比Maven的相关插件功能都强大。 虽然gradle可以非常灵活的编写自定义脚本任务但是其实一般情况下我们不需要编写构建脚本利用现有的插件和任务即可完成相关功能。在IDEA里也可以轻松的查看当前gradle项目中有多少任务基本任务如build、test等Maven和Gradle都是相通的。 参考 https://www.yuque.com/youyi-ai1ik/emphm9/kyhenl?#RDyWu https://www.bilibili.com/video/BV1yT41137Y7/?p54spm_id_frompageDrivervd_source2e82c2a7903cd83d3a5ab9e6d3195382 https://www.w3cschool.cn/gradle/6qo51htq.html
http://www.hkea.cn/news/14553384/

相关文章:

  • 鞍山网站制作的网站保定徐水网站建设
  • 开发软件网站如何结合搜索检索与seo推广
  • 小公司网站如何做哈尔滨招标网官网
  • 淘宝网站内搜索引擎优化怎么做一个网站开发团队的人员配置
  • 做自己的网站难不难网站建设要做原型图吗
  • 某鲜花网站的数据库建设网站内链符号
  • 郑州高端网站定制建设郑州网站开发的公司
  • 婚庆网站名字房地产信息管理系统软件
  • 内江网站建设公司seo优化知识总结
  • 凡科可以做游戏网站吗南宁网站建设 传导
  • 工程建设网站怎么提交大气的金融网站
  • 南昌网站建设方案报价自己做网站选什么好
  • 做网站哪里最便宜怎么设置wordpress底栏文字
  • 建网站一般要多少钱网站建设网站目的模板
  • 个人网站设计的意义网页设计培训好学吗
  • 广州市城市建设档案馆网站营销网站如何建设
  • 贵港住房城乡建设厅网站如何在微信上开小程序
  • 佛山外贸建站在线gif图片制作
  • 网站建站优化做推广适合哪些网站
  • 网站基础建设英文有奖竞猜网站建设
  • 青岛做公司网站注册的多吗专业建站服务公司
  • 网站优化seo是什么意思网站实施过程
  • 网站开发薪酬北京学电脑的培训机构
  • 电子商务网站建设需要哪些步骤西部虚拟主机网站后台不能访问
  • 网站怎么做认证吗企业咨询属于什么行业
  • 如何网站专题策划青海建设厅网站通知
  • 用dw做网站怎么添加背景图片江苏建设教育网站
  • 建设网站服务器端环境要求网站形式
  • 株洲网站建设费用seo下载站
  • 海口市做网站的公司wordpress超级密码破解