如何直接用maven创建java项目,不用eclipse,不用idea,不用任何ide
不用eclipse,不用idea,不用任何ide,如何直接用maven创建java项目
写作背景
6月23号晚我电脑主板短路了,听维修人员说很严重,短时间还搞不定,没了电脑的我,就像没了灵魂的行尸走肉。岂料居然有同学居然有两台电脑,一台一体机一台笔记本。一开始知道这个消息,我仿佛抓住了最后一根救命稻草。那还等什么,软磨硬泡搞来用啊,还好同学很爽快就借了,用来贿赂的两包辣条都用不上就成了。
那电脑搞来终究不是自己的,很多设置上的习惯都不同。我当然不能随便更改别人的常用的关联特定文件的软件或环境变量这些,当然最好也不要安装别的软件,实在要安装也要记得卸载。——《论用别人电脑的自我修养》。
还好我有一块移动硬盘,里面存放了我平时最常用的软件,基本都是绿色的,直接运行,完全不会影响别人的主机。唉,像我这样未雨绸缪、高瞻远瞩的人多乎哉?不多矣。
我想试着写个小Java项目,但不能乱用别人ide,尽量都用自己准备的绿软。并且若是不用ide,能不能构建java项目呢?用maven可以做到!
maven简介
maven一款帮助程序员构建项目的工具,多数人接触时都是在ide里配置好maven后,只需要告诉Maven需要哪些Jar包,它会帮助我们下载所有的Jar包,最初刚刚接触maven,笔者也认为maven只是导包方便,并且有Maven好像依赖于IDEA、Eclipse的错觉。但实质上却恰恰相反。
安装maven
去官网下载压缩版,可以不用安装直接运行,很方便。懒得去官网的,点下面下载,我已经存盘了。
https://o8.cn/UFX5BQ
密码:0i33
配置镜像与本地仓库
打开settings.xml文件
更改镜像下载地址
搜索mirrors标签,mirrors下
添加如下子标签,这样maven的联网下载速度能飞起来,若是不配阿里云镜像,也可以试试,做好挂机一天的准备吧,哈哈。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
更改本地仓库
搜索localRepository标签
添加如下标签内容,说一下添加的作用,假如不添加,maven从网络上下载的东西将全部默认存在C盘的用户家目录下的/.m2/repository目录下,这样篡改了别人C盘内容很不妥,所以将本地仓库设置为自己移动硬盘的maven目录下。
<localRepository>H:\Software\apache-maven-3.6.3\repository</localRepository>
添加示意图如下:
配置环境变量
这里命令行直接用mvn是用不了的,因为我没有配环境变量,而且不能更改别人电脑的环境变量,所有我只有在命令行设置临时环境变量,执行如下两条命令即可。
set MAVEN_HOME=H:\Software\apache-maven-3.6.3
set PATH=%MAVEN_HOME%\bin;%PATH%
查看maven版本,执行命令:
mvn -v
执行结果如下:
我需要配置自己的jdk,还好我备有绿色版jdk8。已存网盘https://t.cn/A67U3MSo
需为java设置临时环境变量,执行如下两条命令即可:
set JAVA_HOME=H:\Software\JDK8_64
set PATH=%JAVA_HOME%\bin;%PATH%
再次执行mvn -v
建立一个简单Java项目
创建目录E:\JavaTest
使用命令行进入JavaTest目录下,执行如下命令:
mvn archetype:generate -DgroupId=com.projectname -DartifactId=hello -Dpackage=com.projectname.hello -Dversion=1.0.1
1)archetype:generate表示创建一个项目;
2)-DgroupId=com.projectname表示组织的ID是com.projectname;
3)-DartifactId=hello表示项目的ID是hello;
4)-Dpackage=com.projectname.hello表示Java程序的包的名字;
5)-Dversion=1.0.1表示当前的版本号是1.0.1;
执行完后,目录结构如下:
所有的Maven项目,如果不进行专门的配置,都会生成如上结构的目录,这就是Maven中“约定优于配置”的含义。
hello是项目的根目录。
pom.xml就是Maven的配置文件,POM即项目对象模型(Project Object Model)。
hello/src是源代码目录。
hello/src/main目录是软件源代码目录;
hello/src/test目录是测试源代码目录。
App.java内容如下:
package com.projectname.hello;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
cd命令进入项目的目录,执行mvn package,可以完成编译、单元测试、生成jar文件的功能,输出文件夹为target,target目录结构如下:
跳转到\target\classes目录下,执行class文件
一个简单的项目到这里就结束了。