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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值