把jar包添加到maven工程,需要把dependency输到哪里
时间: 2023-10-22 21:06:27 浏览: 35
如果要将一个jar包添加到Maven工程中,需要在项目的pom.xml文件中添加该jar包的依赖信息。具体来说,需要在<dependencies>标签下添加一个<dependency>标签,并在其中指定该jar包的groupId、artifactId和version等信息。例如,如果要添加Google Guava库的依赖,可以在pom.xml文件中添加如下代码:
```
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
</dependencies>
```
注意,如果该jar包不在Maven中央仓库中,还需要额外配置其他仓库的信息,比如阿里云仓库或者私有仓库等。
相关问题
怎么把两个maven工程打包成一个jar包
将两个 Maven 工程打包成一个 JAR 包的方法如下:
1. 在第一个 Maven 工程的 pom.xml 文件中,添加以下代码:
```
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>${project.artifactId}-${project.version}</finalName>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
2. 在第二个 Maven 工程的 pom.xml 文件中,添加以下代码:
```
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
3. 在第二个 Maven 工程的 src/main/resources/META-INF 目录下,新建一个 MANIFEST.MF 文件,并添加以下代码:
```
Manifest-Version: 1.0
Class-Path: lib/
```
4. 执行以下命令来打包两个 Maven 工程:
```
cd first-maven-project
mvn clean package
cd ../second-maven-project
mvn clean package
```
5. 将第一个 Maven 工程的 target 目录下的 JAR 包和第二个 Maven 工程的 target 目录下的 JAR 包一起复制到一个新的目录中。
6. 执行以下命令来将两个 JAR 包合并成一个 JAR 包:
```
cd new-directory
jar -xf first-maven-project.jar
jar -xf second-maven-project.jar
jar -cmf second-maven-project/META-INF/MANIFEST.MF merged.jar *
```
7. 最后,运行 merged.jar 文件即可。
maven 把依赖的jar包拷到lib目录下
可以通过在项目的pom.xml文件中配置依赖项的scope为"system",并指定相应的systemPath来实现将依赖的jar包拷贝到指定的lib目录下。例如:
```
<dependency>
<groupId>com.example</groupId>
<artifactId>example-library</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/example-library.jar</systemPath>
</dependency>
```
其中,${basedir}表示项目根目录。这样配置后,maven会将example-library.jar拷贝到lib目录下。注意,由于使用了system scope,这个依赖不会被maven管理,需要手动将其加入到版本控制中。