博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven打包可运行的jar包(包含依赖工程)
阅读量:5066 次
发布时间:2019-06-12

本文共 6409 字,大约阅读时间需要 21 分钟。

4.0.0
com.app
services
jar
1.0
UTF-8
1.7
com.rabbitmq
amqp-client
3.5.6
log4j
log4j
1.2.16
com.fasterxml.jackson.core
jackson-core
2.3.0
org.apache.httpcomponents
httpclient
4.5
org.apache.commons
commons-lang3
3.4
javax.servlet
javax.servlet-api
3.1.0
org.sword.wechat4j
wechat4j
1.2.0
system
${project.basedir}/lib/wechat4j-1.2.0.jar
com.app
base
1.0
jar
BaiGongServer
org.apache.maven.plugins
maven-compiler-plugin
3.1
${jdk.version}
${jdk.version}
org.apache.maven.plugins
maven-dependency-plugin
2.8
copy-dependencies
prepare-package
copy-dependencies
${project.build.directory}/lib
false
false
true
compile
org.apache.maven.plugins
maven-jar-plugin
2.4
true
lib/
baigong.loganalysis.ExtractLog
${project.basedir}/xml/*

内置属性(Maven预定义可以直接使用)

${basedir} 项目根目录 

${version}表示项目版本;
${project.basedir}同${basedir};
${project.version}表示项目版本,与${version}相同;
${project.build.directory} 构建目录,缺省为target
${project.build.sourceEncoding}表示主源码的编码格式;
${project.build.sourceDirectory}表示主源码路径;
${project.build.finalName}表示输出文件名称;
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes

 

依赖项的作用域

在定义项目的依赖项的时候,我们可以通过scope来指定该依赖项的作用范围。scope的取值有compile、runtime、test、provided、system和import。
compile:这是依赖项的默认作用范围,即当没有指定依赖项的scope时默认使用compile。compile范围内的依赖项在所有情况下都是有效的,包括运行、测试和编译时。
runtime:表示该依赖项只有在运行时才是需要的,在编译的时候不需要。这种类型的依赖项将在运行和test的类路径下可以访问。
test:表示该依赖项只对测试时有用,包括测试代码的编译和运行,对于正常的项目运行是没有影响的。
provided:表示该依赖项将由JDK或者运行容器在运行时提供,也就是说由Maven提供的该依赖项我们只有在编译和测试时才会用到,而在运行时将由JDK或者运行容器提供。
system:当scope为system时,表示该依赖项是我们自己提供的,不需要Maven到仓库里面去找。指定scope为system需要与另一个属性元素systemPath一起使用,它表示该依赖项在当前系统的位置,使用的是绝对路径。

 

二: 如果要引用本地工程(生产一个jar包),

1: 需要将本地工程A生产jar包,并且将生产的jar添加到本地仓库;
工程A pom配置

4.0.0
com.app
base
1.0
jar
base
UTF-8
junit
junit
4.10
test
redis.clients
jedis
2.6.0
log4j
log4j
1.2.16
org.apache.commons
commons-lang3
3.4
commons-beanutils
commons-beanutils
1.8.0
com.rabbitmq
amqp-client
3.5.6
base
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.7
1.7

 

然后右键工程A,Run As -> Maven Clean , Maven Install ,如果不出错,即可安装到Maven本地仓库中。

 

2: 在当前要引用的工程B中pom中添加dependency(如上)

用POM Editor 打开pom,

点击 "Add",

 

然后既可以添加到pom中的dependency中

 

三:将本地的jar包安装到本地库中,

例如:将IKAnalyzer-5.0.jar 注册到本地库中

在IKAnalyzer-5.0.jar所在的目录中执行cmd命令: 

mvn install:install-file -DgroupId=com.lxbglib -DartifactId=IKAnalyzer -Dversion=5.0 -Dpackaging=jar -Dfile=IKAnalyzer-5.0.jar

其中: com.lxbglib 是自定义的groupId

然后在pom.xml 加入

<dependency>

      <groupId>com.lxbglib</groupId> 
      <artifactId>IKAnalyzer</artifactId>
      <version>5.0</version>
</dependency>

 

转自:http://www.cnblogs.com/benwu/articles/5182203.html 感谢原作者

转载于:https://www.cnblogs.com/panxuejun/p/6667581.html

你可能感兴趣的文章
Linux命令之文件处理
查看>>
费马小定理入门
查看>>
初始化JQuery方法与(function(){})(para)匿名方法介绍
查看>>
动手写一个快速集成网易新闻,腾讯视频,头条首页的ScrollPageView,显示滚动视图...
查看>>
查找、移除某个视图上的某类控件
查看>>
python学习day06--01
查看>>
rest-framework:频率控制
查看>>
MapReduce程序的优化
查看>>
自动化测试框架实践2--STAF
查看>>
MapReduce入门
查看>>
使用 ArcGIS Desktop 切瓦片
查看>>
golang导入包的几个说明:import
查看>>
window bat
查看>>
lucene
查看>>
关于python安装lxml插件的问题
查看>>
How can I generate database tables from C# classes?
查看>>
新手小白Linux(Centos6.5)部署java web项目(mongodb4.0.2安装及相关操作)
查看>>
【weex开发】环境配置流程
查看>>
OpenStack三种类型的NAT转换
查看>>
ISLR 4.6 Lab: Logistic Regression, LDA, QDA, and KNN
查看>>