如何通过Maven为Java项目配置Drools依赖
答:在pomxml 里面 加入jar 依赖 orgdrools drools-core 550Final 视情况而定,可能你还需要其他的jar 可以去maven 仓库中去查找
maven 添加jar后,选择性的添加他的依赖项,做到手动
问:<dependency><groupId>orgapachestruts</groupId><artifactId>struts2
答:1排除jar下所依赖的所有jar,用如下 orgapachestruts struts2-spring-plugin 234 如果只是不需要某一个,那就groupid和artifactid写清楚,多个 就多个
Maven 构建的项目都有自己的POM文件 ,而在pom文件中添加自己需要依赖的jar的信息就可以在项目中引入自己需要的依赖jar;
添加方法如下
groupId :是指这个jar在本地仓库的包路径;
artifactId:是这个jar的包名;
version:是这个jar版本号;
scope:scope在maven的依赖管理中主要负责项目的部署他的值有:
默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
scope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译
runntime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。
provided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供
从参与度来说,也provided相同,不过被依赖项不会从maven仓库抓,而是从本地文件系统拿,一定需要配合systemPath属性使用。
原则上Maven的设计是不需要这么做的,因为pomxml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-461jar
怎么添加到本地仓库呢?
步骤:
1cmd命令进入该jar包所在路径
2执行命令
mvn install:install-file -Dfile=lucene-queryparser-461jar -DgroupId=orgapachelucene -DartifactId=lucene-queryparser -Dversion=461 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2313jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2313 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2313目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>orgapachehadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>220</version>
<classifier>tests</classifier>
</dependency>
就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-220-testsjar -DgroupId=orgapachehadoop -DartifactId=hadoop-hdfs -Dversion=220 -Dclassifier=tests -Dpackaging=jar后端导入后指定为maven项目需要在右边的工具栏找到Maven Project,点击加号,选择导入项目的pomxml,在跑,那就表示正在将这个项目变成maven项目并且正在导入依赖jar包这些,当进度条结束之后,maven项目也就构建完成了,在然后需要配置tomcat的话,就去配置,配置完项目就可以跑起来了。
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多Apache Jakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。先创建一个基于maven的项目,点击打开pomxml文件 点击Dependencies标签页,然后点击Dependencies中的add按钮,输入想添加的jar包名字,就会出现下会把对应名称的所有版本jar包列出来 点击OK之后,在pomxml会带回jar包的信息,type表示依赖包的看来你还没理解maven,maven的设计思想之一是”约定优于配置“,最大优势在于”依赖管理“。archetype这个插件里面就是内置了一些app,web-app的类型,maven把他认为的最佳实践都内置好了,你所做的是按照约定把该放的东西放到位置,当然你也可以像你说的把一些代码改地方,你可以仔细研究一下archetype插件的文档中一些参数,不过maven官方不改动,因为大家都遵循差不多的规定,然后在pomxml里面很简单的就配置好依赖关系,工程的扩展就容易了。maven希望是你把你的工程源代码按照maven建好的目录进行组织即可,如果这些不适合,你可以再看看其他插件里有没有合适的。你要是那样用,还不如用ant,怎么设置工程是活的,maven并不是取代ant,只是它用了另一套哲学。不知道你认同否
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)