java nashorn maven_使用mvn创建java工程的极简教程
最近开始集中精力搞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工程的极简教程相关推荐
- 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )
文章目录 前言 一.IntelliJ IDEA 中创建 Java / Kotlin 工程 二.准备 Java 和 Kotlin 代码 三.编译在 PC 上可执行的 Java / Kotlin JAR ...
- spring boot java app_利用spring boot创建java app
利用spring boot创建java app 背景 在使用spring框架开发的过程中,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置和复杂的bean依赖关系,特别是在使用mvc的时候各 ...
- java ee maven_针对新手的Java EE7和Maven项目–第6部分
java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...
- java二维数组的创建,java二维数组创建方法
java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...
- java开发安装程序_创建java开发环境安装包
一.安装SetupFactory7 解压setupfactorzxb_cp.rar运行安装程序 二.打开Setup Factory 7.0 创建新工程-->使用向导 选择源文件文件夹 选择安装时 ...
- 《Spring Boot极简教程》附录4 Java编程简史
附录4 Java编程简史 从GOTO到OOP 在20世纪60年代,软件曾出现过严重危机,由软件错误而引起的信息丢失.系统报废事件屡有发生.为此,1968年,荷兰E.W.Dijkstra提出了程序设计中 ...
- Kotlin极简教程:第10章 Kotlin与Java互操作
Kotlin is 100% interoperable with Java™ and Android™ 在前面的章节中,我们已经学习了Kotlin的基础语法.类型系统.泛型与集合类.面向对象与函数式 ...
- java商城pom,使用maven创建Java购物商城系统的common工程
common工程,主要为Java的购物商城系统提供一些工具类,比如cookie管理类,id生成类等. 具体的创建过程如下 第一步: 在idea中依次单击"File"→"N ...
- 【JAVA】使用IntelliJ IDEA创建Java控制台工程
1.File->New->Project 2.选择Java,下一步 3.模板有两个:Command Line App和Java Hello World,没有太大区别 4.命名: 5.结果: ...
最新文章
- tcmalloc mysql 缓存_Tcmalloc优化Mysql内存管理
- EZBioCloud:16S和原核基因组物种注释和新种鉴定
- spring-boot入门之二——验证、AOP日志、异常处理
- linux whois工具,CentOS如何安装whois命令
- Intel Realsense D435 python (Python Wrapper)examples 官方案例汇总
- boot spring 怎么执行hql_spring-boot 中使用graphql的正确姿势
- 了解Linux文件系统:ext4及更高版本
- Python数据分析学习笔记05:用户画像
- C# LINQ 对象克隆
- LINUX内核内存管理kmalloc,vmalloc
- 高盛的合伙人是如何选出来的?
- javascript自动填写表单小技巧
- MES系统源码 MES系统功能介绍
- 解决 Win11 资源管理器卡顿
- linux 监听 ipv6,zabbix 监控 ipv6
- 基于ESP8266 HX711 克级单位称重式压力传感器(接入阿里云物联网平台)—— 看到有点意思,所以我也照着做了一个
- 考研英语 - word-list-17
- 结合百度搜索引擎SEO优化指南揭密百度SEO建议
- java gbk编码_JAVA中文字符串编码--GBK转UTF-8
- WordPress安装简单详细教程(云服务器和轻量应用服务器搭建WordPress)
热门文章
- 网络配置 rpm yum
- 热血沙城-3.2移植-古月-cocos2dx源码
- 百度地图iOS API
- python web应用_为您的应用选择最佳的Python Web爬网库
- java语言静态分析工具_PMD 6.16.0 发布,跨语言静态代码自动分析工具
- leetcode1254. 统计封闭岛屿的数目(dfs)
- win10管理凌乱桌面_用于管理凌乱的开源存储库的命令行技巧
- sphinx_Sphinx之谜:如何轻松地编写代码
- draft.js_如何使用快捷方式在Draft.js中创建有序列表和无序列表
- 【炼数成金 NOSQL引航 三】 Redis使用场景与案例分析