Java从零单排-maven常用命令

简单介绍maven中的常用命令 maven的生命周期共9步:clean =>validate =>compile =>test =>package =>verify =>install =>site =>deploy 新建Maven项目:mvn -B archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app得到如下pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies></project>groupId 定义该项目所属的公司、项目组artifactId 定义具体该项目名packaging 打包方式分为 jar,pom ,war jar war 如果是需要部署的项目,则需要打包成war类型,如果只是内部调用或者是作服务使用,则推荐打包成jar类型。pom POM是最简单的打包类型,也不执行任何代码,只是为了聚合工程或传递依赖用的。remove 本地已编译文件mvn clean编译应用源码mvn compilemaven首先下载相关插件与相关依赖(当再次执行则不需要)编译,(把生成的相关文件放在${basedir}/target/classes目录下)测试mvn test首先下载相关插件,包括测试所需的工具编译测试打包mvn package确保packaging为jar,执行了下列工作: mvn test + 打为可执行的jar包安装在本地库mvn installmvn package + 部署在本地库部署在远程库mvn deploymvn install + 部署于远程仓库其他命令\\ 检查工程,检查所有需要的dep是否可用。 mvn validate\\ 检查打好的包,检查包是否有效且达到标准。mvn verify\\生成maven install的html报告mvn site\\ 版本mvn -v\\ 打印依赖树: mvn dependency:tree组合命令例如 只打包不测试: ...

October 3, 2019 · 1 min · jiezi

gradle-学习笔记(1)-初步使用

最近想深入的学习一下工程化方面相关的东西,在maven和gradle直接纠结不已,因为maven的扩展性太差劲了,学习成本颇高,所以最后投入了gradle的怀抱中,以后有时间再重新学习一下maven吧最近的学习笔记是基于gradle 5 系列,其中各种教程和例子大都是来源于官方文档或者网络上的博客。内容涵盖我在学习gradle过程中的各种心得和gradle的一些使用方法注意: 这里使用的配偶语言世kotlin 而不是使用groovygradle创建项目一个命令gradle init用户可以通过这个命令创建一个基本的gradle项目包括gradle项目的目录结构├── build.gradle (1)├── gradle│ └── wrapper│ ├── gradle-wrapper.jar (2)│ └── gradle-wrapper.properties (3)├── gradlew (4)├── gradlew.bat (5) └── settings.gradle (6) (1) gradle 的构建脚本用来构建当前的gradle项目,最核心的配置文件(2) (3) 一个gradle副本和配置文件,用来当如果系统中的gradle版本和项目使用的gradle版本不同,将会在这里下载一个项目中的版本(4) (5) 配套使用的命令行工具 没有.bat后缀的是unix系统命令有的是windowns系统,可以用来执行gradle中定义的各种task 任务(6) 用于配置Gradle构建的Gradle设置脚本gradle的taskgradle 方便用户进行配置的特性是源于gradle提供了方便使用task参数这里编写一个很基本的copy文件的权限,在路径中添加一个src文件夹和dest文件夹,在src文件中添加一个文件markfile.txt 并且里面有一个内容hello world!然后在build.gradle 中编写一个任务task copy(type:Copy,group:“custom”,description:“test one”){ from “src” into “dest”}其中的type 字段将会调用系统中的Copy函数,而group和description 只是描述这个过程的描述符,只会影响系统的log输出,并不会影响实际的效果./gradlew Copy运行对应的命令就能运行对应的copy方法使用一个gradle内部的插件系统在项目中使用插件标签plugins添加指定的base插件到系统中plugins { id “base”}然后在指定的位置我们添加一个插件(和任务的使用方法相同,我怀疑其实gradle的插件就是打包好的任务)task zip(type: Zip, group: “Archive”, description: “Archives sources in a zip file”) { from “src” setArchiveName “basic-demo-1.0.zip”}然后运行对应的命令,就可以在对应的目录 build/distributions 中找到 src目录下的压缩文件了./gradlew Zip查看当前拥有的taskgradle 有一个内置的命令./gradlew task这条命令将会将所有的当前的gradle项目中拥有的构建命令全部列出来> Task :tasks————————————————————Tasks runnable from root project————————————————————Archive tasks————-zip - Archives sources in a zip fileBuild tasks———–assemble - Assembles the outputs of this project.build - Assembles and tests this project.clean - Deletes the build directory.Build Setup tasks—————–init - Initializes a new Gradle build.wrapper - Generates Gradle wrapper files.Custom tasks————copy - Copies sources to the dest directoryHelp tasks———-buildEnvironment - Displays all buildscript dependencies declared in root project ‘gradle’.components - Displays the components produced by root project ‘gradle’. [incubating]dependencies - Displays all dependencies declared in root project ‘gradle’.dependencyInsight - Displays the insight into a specific dependency in root project ‘gradle’.dependentComponents - Displays the dependent components of components in root project ‘gradle’. [incubating]help - Displays a help message.model - Displays the configuration model of root project ‘gradle’. [incubating]projects - Displays the sub-projects of root project ‘gradle’.properties - Displays the properties of root project ‘gradle’.tasks - Displays the tasks runnable from root project ‘gradle’.Verification tasks——————check - Runs all checks.Rules—–Pattern: clean<TaskName>: Cleans the output files of a task.Pattern: build<ConfigurationName>: Assembles the artifacts of a configuration.Pattern: upload<ConfigurationName>: Assembles and uploads the artifacts belonging to a configuration.To see all tasks and more detail, run gradlew tasks –allTo see more detail about a task, run gradlew help –task <task>BUILD SUCCESSFUL in 1s1 actionable task: 1 executed<————-> 0% WAITING> IDLEgradle 提供的在线查看构建详情的方法 –scan命令我们在使用构建命令的时候可以在命令的后面添加一个 –scan命令,通过这个命令可以链接到gradle官方的view显示仓库或者连接到自定义的链接仓库中,然后轻松的查看项目使用的构建任务,构建时间等等信息./gradlew Zip –scan然后可以登入命令行打出的一个网址,在其中的form表单中填写邮箱地址,然后就会将构建的信息发送到邮箱中了注意:这个功能是收费的gradle 展示当前系统的可用参数信息 properties命令$ ./gradlew properties> Task :properties————————————————————Root project————————————————————buildDir: /Users/…/basic-demo/buildbuildFile: /Users/…/basic-demo/build.gradledescription: nullgroup:name: basic-demoprojectDir: /Users/…/basic-demoversion: unspecifiedBUILD SUCCESSFUL ...

February 26, 2019 · 2 min · jiezi

Maven+Tomcat7实现项目热部署

热部署能够在不关闭Tomcat的情况下直接将war包部署到服务器上。修改Tomcat配置文件 需要修改tomcat的conf/tomcat-users.xml配置文件。添加用户名、密码、权限。<role rolename=“manager-gui” /><role rolename=“manager-script” /><user username=“tomcat” password=“tomcat” roles=“manager-gui, manager-script”/>启动服务器点击这个链接进入后台管理功能这里输入刚才设置的密码就可以进去了在这里选择自己的war包就可以直接部署。使用maven的tomcat插件实现热部署如果在上面选择的话,还是有点麻烦,这里我们直接在自己的代码中就通过Maven就可以直接部署。 在web项目中的pom.xml文件中配置,这里需要注意的是目录必须是/manager/text<!– 配置tomcat插件 –> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port>8080</port> <url>http://192.168.25.134:8080/manager/text</url> <username>tomcat</username> <password>tomcat</password> </configuration> </plugin> </plugins> </build>使用Maven部署项目,因为Tomcat中有原来的项目所以需要使用redeploy这个命令。-DskipTests的意思跳过测试。clean tomcat7:redeploy -DskipTestsok,项目部署成功:

December 31, 2018 · 1 min · jiezi