导航:首页 > 净水问答 > maven打jar包过滤文件

maven打jar包过滤文件

发布时间:2021-02-13 16:20:08

㈠ 如何将maven依赖项打进jar包

在repository中建文件夹然后把jar包放进去Maven是基于项目对象模型(POM),可以通过一小段描述信回息来管理项目的构建答,报告和文档的软件项目管理工具。Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多ApacheJakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。Maven这个单词来自于意第绪语,意为知识的积累,最早在JakataTurbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Antbuild文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

㈡ 如何配置maven pom文件来解决jar包冲突

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。
jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:
1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

1

mvn dependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。
以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。

2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar;语法如下:

1
2
3
4
5
6
7
8
9
10
11
12

<dependency>
<groupId>.....</grooupId>
<artifactId>....</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>.....</groupId>
<artifactId>.....</artifactId>
</exclusion>
</exclesions>
<dependency>
<!--exclusions可包含一个或多个exclusion元素-->

3、一下规避jar冲突的思路,如果项目中有直接用到某个jar而这个jar已通过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。

㈢ maven打jar包 依赖包需要吗

maven打包的时候默认是不加入依赖的jar包的,所以想打出一个独立的可运行jar包的话直接mvn clean install package是不行的。需要略改动下pom文件,加入如下plugin
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix></classpathPrefix>
<mainClass>com.xx.xx.xx</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id></id>
<phase>install</phase>
<goals>
<goal>-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

maven打包的时候有些jar包是不在mavencenter的。需要在pom中引入相关的本地jar包,那么相关的depency应该像如下更改

<dependency>
<groupId>org.wltea.ik-analyzer</groupId>
<artifactId>ik-analyzer</artifactId>
<version>3.2.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ik-analyzer-3.2.8.jar</systemPath>
</dependency>

对于war包系统来说,有时候需要把jar包打到相关的war包中,可以使用plugin,默认将lib下的所有jar文件打包到WEB-INF/lib下。当然也是可以打包其他的文件的,诸如xml,properties等的。相关的plugin如下:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warName>${project.artifactId}</warName>
<webResources>
<resource>
<directory>lib/</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>

㈣ maven打包jar包时如何打包本地jar文件

本地jar添加到maven仓库的方法。 有些包在mvn repository是没有的,例如IKAnlyzer.jar,那我们又想让maven帮助我们管理,怎么办呢?

一、安装maven环境,配置环境变量

二、下载你需要加入到maven的jar包

1、配置maven环境,计算机-属性-高级系统设置-环境变量,添加系统变量MAVEN_HOME。值指向bin层,复制到变量值里面。

我下载的是apache-maven-3.3.9

2、下载需要加入到maven的包,我这里的例子是IKAnlyzer,因为他在maven仓库里没有。

2.1、先测试maven环境变量是否安装成功

cmd后输入 mvn -v

2.2、在cmd中输入

mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dfile=E:IKAnalyzer3.2.8.jar -Dpackaging=jar

这些参数与pom.xml里面的参数对应关系。其实4是本地jar的路径。我把包放在E盘了。 如图:

那在pom.xml 加入:

㈤ 如何用maven将配置文件打在jar包外

一、导出到默认目录 targed/dependency
从Maven项目中导出项目依赖的包:进入工程pom.xml 所在的目录下,执行如下命令:
1、mvn dependency:-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:-dependencies后,点击运行;
2、maven项目所依赖的jar包会导出到targed/dependency目录中。
二、导出到自定义目录中
在maven项目下创建lib文件夹,输入以下命令:
1、mvn dependency:-dependencies -DoutputDirectory=lib;
2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。
三、设置依赖级别
同时可以设置依赖级别,通常使用compile级别
mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

㈥ 请问maven工程jar包,war包,pom打包,都是怎么定的

首先maven 工程是通过你的pom文件的设定来打包
jar 和war是两种打包方式,可以在pom文件中设定的
1、专jar包主要应用于java 命令属执行 比如java -jar
2、war包一般用于tomcat容器
现在springboot应用比较广,内置了tomcat容器,通常打包是jar多一点

㈦ java jar怎么把指定目录排除掉再进行打包

在项目的pom.xml文件里面添加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>loginweb</warName>
<outputDirectory>target</outputDirectory>
<!-- 排除 -->
<packagingExcludes>
WEB-INF/classes/*jdbc.properties,
WEB-INF/classes/*config.properties,regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
</packagingExcludes>
</configuration>
</plugin>
配置说明:
1. WEB-INF/classes/*_jdbc.properties: 过滤 任何前缀的 _jdbc.properties 配置文件(如:我上篇博客自动打不同环境的包中提到的添加的不同环境的jdbc配置文件,那么在打包时候,排除自己添加的这个配置文件)
2. %regex[WEB-INF/lib/(?!log4j-1|common-1)...jar] 通过正在表达式配置打包时,排除除了log4j-1和common-1 的 1.任何版本的jar包。即打包时只添加这两个jar包到war包里面,其他的任何jar都排除不打包进去
(PS:为了tomcat 共享jar包,所以项目中不打jar,当然除了自己项目间相互依赖的jar,比如这个jar会经常自己修改,那么经常修改的,就不排除,打包时候把他们也打进去。对于tomcat如何共享jar包,后续再详细描述)
3. 如果有多个条件,用逗号隔开。对于packagingExcludes 的详细使用,请查看官网:
http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html

㈧ 如何执行maven打包的jar包

这个我记得之前远标教育老师讲过,他说
第一步:在你的pom.xml中添加
1<plugin>
2 <artifactId>maven-assembly-plugin</artifactId>
3 <version>2.2</version>
4 <configuration>
5 <archive>
6 <manifest>
7 <mainClass>cn.com.threetcloud.agent.server.BrokerServer</mainClass>
8 </manifest>
9 </archive>
10 <descriptorRefs>
11 <descriptorRef>
12 jar-with-dependencies
13 </descriptorRef>
14 </descriptorRefs>
15 </configuration>
16 </plugin>

第二步:CMD进入到自己的工程文件夹下进行mvn assembly:assembly操作
我的工程是在D:\workspace\test
那么操作步骤是
1:cmd回车
2:d:回车
3:cd workspace回车
4:cd test回车
5:mvn assembly:assembly回车

第三步:CMD通过java命令运行刚才导出的jar文件,一般导出后在自己工程的target文件夹下面
我的jar导出后在D:\workspace\test\target\agent-server-0.0.1-jar-with-dependencies.jar
那么操作步骤是
1:cmd回车
2:d:回车
3:cd workspace回车
4:cd test回车
5:cd target回车
5:java -jar agent-server-0.0.1-jar-with-dependencies.jar回车
到此结束。

㈨ maven依赖项目打jar包问题

maven项目可以分为子父级项目,将公有的jar包用父级项目引用,其子级项目都不需要再重新引用了。

㈩ 为什么Maven打jar包回覆盖表我自己的MANIFEST.MF文件

<!--打包时,添加信息-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>

<>true</>
<>true</>
</manifest>
<manifestEntries>
<right>feilong</right>
</manifestEntries>
</archive>
</configuration>

</plugin>

上面是我的配置, 你可以使用manifestFile 来指定你的 MANIFEST.MF 文件

阅读全文

与maven打jar包过滤文件相关的资料

热点内容
老故事片大全 浏览:124
同性恋电影 台湾 浏览:838
电水壶里是生锈还是水垢 浏览:638
含铁废水治理服务多少钱 浏览:186
为什么海尔的反渗透净水机没有废水 浏览:781
制备热固性酚醛树脂 浏览:403
污水处理中磷酸二氢钠作用 浏览:749
韩国伦理电影中文翻译 浏览:2
纤维束过滤器价格 浏览:821
分离酒精和水可以蒸馏吗 浏览:995
年轻人免费观看影片 浏览:119
更新快的电影网址 浏览:843
太阳能除垢剂种类 浏览:234
电影开头有个骑自行车的女孩 浏览:588
萃取精馏废水中的乙醇和异丁醇 浏览:544
电热水器热水管漏污水 浏览:355
茶渣桶过滤鱼缸 浏览:478
一级反渗透膜电阻率号原因 浏览:228
美剧两个女孩是双胞胎 浏览:675
在线免费观看韩剧电影 浏览:45