在构建可执行JAR文件时,使用本地存储库中的JAR文件是一个常见的做法,它可以帮助你管理项目依赖并确保构建过程的一致性。以下是关于这个问题的详细解答:
本地存储库:本地存储库是一个目录,用于存储项目所需的依赖库(JAR文件)。Maven和Gradle等构建工具默认会在本地计算机上维护一个本地存储库。
可执行JAR:一个包含所有必要依赖项并且可以直接运行的JAR文件。
.m2/repository
目录。.gradle/caches/modules-2/files-2.1
目录。原因:可能是本地存储库中没有所需的JAR文件,或者路径配置不正确。
解决方法:
pom.xml
或build.gradle
)中。mvn clean install
(对于Maven)或gradle build
(对于Gradle)来下载并安装依赖到本地存储库。原因:不同的依赖项可能依赖于同一个库的不同版本。
解决方法:
dependency:tree
命令或Gradle的dependencies
任务来查看依赖树,找出冲突的依赖。<dependencyManagement>
(Maven)或resolutionStrategy
(Gradle)来强制指定某个版本的依赖。<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
plugins {
id 'java'
}
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
testImplementation 'junit:junit:4.12'
}
jar {
manifest {
attributes 'Main-Class': 'com.example.MainClass'
}
}
通过以上配置,你可以确保在构建可执行JAR文件时使用本地存储库中的依赖项。
DB TALK 技术分享会
云+社区技术沙龙[第17期]
DB・洞见
企业创新在线学堂
企业创新在线学堂
Techo Day
小程序·云开发官方直播课(数据库方向)
领取专属 10元无门槛券
手把手带您无忧上云