最近开始集中精力搞java的开源项目,在这时记录一下使用mvn创建java工程的比较简单的流程,以备不时之需,适用于我等java小白~~~

使用mvn创建java工程

安装mvn

创建java工程命令行执行

mvn archetype:generate -DgroupId=com.mytest -DartifactId=test -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

至少需要提供 groupId 包名和artifactId 工程名也就是jar包的名称。生成目录结构

./

├── pom.xml

└── src

├── main

│ └── java

│ └── com

│ └── mytest

│ └── App.java

└── test

└── java

└── com

└── mytest

└── AppTest.java

pom.xml配置文件如果需要使用到java 8的特性,比如lambda表达式,需要调整 maven.compiler.source和 mavin.compiler.target到1.8或更高。

1.81.8如果你的工程需要第三方依赖,需添加依赖到之间

junit

junit

4.11

test

如果需要依赖本地的jar包,而非mvn库中的,则需要使用如下形式,需要scope和systempath属性加持。

org.apache.bookkeeper

bookkeeper-server

${bookkeeper.version}

system

${bookkeeper.localjar}

对于最终编译产生的jar, 在通过java -jar执行时,可通过pom.xml指定生成的jar中的主类

如果不配置这个,在最后执行的时候需要加上类名:java -jar xxxx com.mytest.App

org.apache.maven.plugins

maven-jar-plugin

3.0.2

true

com.mytest.App

编译在pom.xml所在目录下执行 mvn clean package

编译完成生成 target目录, 生成的jar包类似: test-1.0-SNAPSHOT.jar

执行如果有第三方依赖,在编译时可以选择将第三方依赖全部打包到最终的jar包中;

我们这里选择另外一种方式,执行时执定class path的方式: java -cp xxxx:xxxx

我们需要将所有的第三方依赖的jar包集中到一起:

创建一个名为lib的目录;

mvn dependency:copy-dependencies -DoutputDirectory=[上面创建的lib目录的全路径]

这条命令将把在pom.xml文件中dependencies下面的依赖的jar包自动拷贝到lib目录下;

执行

下面给出了一个简单的脚本, 先收集lib下面所有的jar包作为-cp的参数

BK_CLASSPATH="" #收集lib下面所有的jar包作为`-cp`的参数

for i in [lib目录的路径]/*.jar; do

BK_CLASSPATH=${BK_CLASSPATH}:${i}

done

#运行test-1.0-SNAPSHOT.jar

java -cp ${BK_CLASSPATH}:/home/xx/test/java/test/target/test-1.0-SNAPSHOT.jar com.mytest.App

java nashorn maven_使用mvn创建java工程的极简教程相关推荐

  1. 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )

    文章目录 前言 一.IntelliJ IDEA 中创建 Java / Kotlin 工程 二.准备 Java 和 Kotlin 代码 三.编译在 PC 上可执行的 Java / Kotlin JAR ...

  2. spring boot java app_利用spring boot创建java app

    利用spring boot创建java app 背景 在使用spring框架开发的过程中,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置和复杂的bean依赖关系,特别是在使用mvc的时候各 ...

  3. java ee maven_针对新手的Java EE7和Maven项目–第6部分

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...

  4. java二维数组的创建,java二维数组创建方法

    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...

  5. java开发安装程序_创建java开发环境安装包

    一.安装SetupFactory7 解压setupfactorzxb_cp.rar运行安装程序 二.打开Setup Factory 7.0 创建新工程-->使用向导 选择源文件文件夹 选择安装时 ...

  6. 《Spring Boot极简教程》附录4 Java编程简史

    附录4 Java编程简史 从GOTO到OOP 在20世纪60年代,软件曾出现过严重危机,由软件错误而引起的信息丢失.系统报废事件屡有发生.为此,1968年,荷兰E.W.Dijkstra提出了程序设计中 ...

  7. Kotlin极简教程:第10章 Kotlin与Java互操作

    Kotlin is 100% interoperable with Java™ and Android™ 在前面的章节中,我们已经学习了Kotlin的基础语法.类型系统.泛型与集合类.面向对象与函数式 ...

  8. java商城pom,使用maven创建Java购物商城系统的common工程

    common工程,主要为Java的购物商城系统提供一些工具类,比如cookie管理类,id生成类等. 具体的创建过程如下 第一步: 在idea中依次单击"File"→"N ...

  9. 【JAVA】使用IntelliJ IDEA创建Java控制台工程

    1.File->New->Project 2.选择Java,下一步 3.模板有两个:Command Line App和Java Hello World,没有太大区别 4.命名: 5.结果: ...

最新文章

  1. tcmalloc mysql 缓存_Tcmalloc优化Mysql内存管理
  2. EZBioCloud:16S和原核基因组物种注释和新种鉴定
  3. spring-boot入门之二——验证、AOP日志、异常处理
  4. linux whois工具,CentOS如何安装whois命令
  5. Intel Realsense D435 python (Python Wrapper)examples 官方案例汇总
  6. boot spring 怎么执行hql_spring-boot 中使用graphql的正确姿势
  7. 了解Linux文件系统:ext4及更高版本
  8. Python数据分析学习笔记05:用户画像
  9. C# LINQ 对象克隆
  10. LINUX内核内存管理kmalloc,vmalloc
  11. 高盛的合伙人是如何选出来的?
  12. javascript自动填写表单小技巧
  13. MES系统源码 MES系统功能介绍
  14. 解决 Win11 资源管理器卡顿
  15. linux 监听 ipv6,zabbix 监控 ipv6
  16. 基于ESP8266 HX711 克级单位称重式压力传感器(接入阿里云物联网平台)—— 看到有点意思,所以我也照着做了一个
  17. 考研英语 - word-list-17
  18. 结合百度搜索引擎SEO优化指南揭密百度SEO建议
  19. java gbk编码_JAVA中文字符串编码--GBK转UTF-8
  20. WordPress安装简单详细教程(云服务器和轻量应用服务器搭建WordPress)

热门文章

  1. 网络配置 rpm yum
  2. 热血沙城-3.2移植-古月-cocos2dx源码
  3. 百度地图iOS API
  4. python web应用_为您的应用选择最佳的Python Web爬网库
  5. java语言静态分析工具_PMD 6.16.0 发布,跨语言静态代码自动分析工具
  6. leetcode1254. 统计封闭岛屿的数目(dfs)
  7. win10管理凌乱桌面_用于管理凌乱的开源存储库的命令行技巧
  8. sphinx_Sphinx之谜:如何轻松地编写代码
  9. draft.js_如何使用快捷方式在Draft.js中创建有序列表和无序列表
  10. 【炼数成金 NOSQL引航 三】 Redis使用场景与案例分析