Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在pom.xml中配置本地jar_Java_Maven_Pom.xml - Fatal编程技术网

Java 在pom.xml中配置本地jar

Java 在pom.xml中配置本地jar,java,maven,pom.xml,Java,Maven,Pom.xml,在我的maven项目中,我需要使用一些本地jar库作为依赖项 我正在尝试使用此方法在pom.xml中配置它们: <repositories> <repository> <id>projectName.local</id> <url>file://${project.basedir}/libs</url> </repository> </repositories

在我的maven项目中,我需要使用一些本地
jar
库作为依赖项

我正在尝试使用此方法在
pom.xml
中配置它们:

<repositories>
    <repository>
        <id>projectName.local</id>
        <url>file://${project.basedir}/libs</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.myproject</groupId>
        <artifactId>ProjectName</artifactId>
        <version>1.0</version>
    </dependency>

    <!-- other dependencies... -->
</dependencies>
但是,在建设项目时,我得到了以下警告:

The POM for org.myproject:ProjectName:jar:1.0 is missing, no dependency information available
这个构建失败的结果是:

Failed to execute goal on project my_project: Could not resolve dependencies for project *** : The following artifacts could not be resolved: org.myproject:ProjectName:jar:1.0: Failure to find org.myproject:ProjectName:jar:1.0 in file://C:\Users\David\Documents\NetBeansProjects\my_project/libs was cached in the local repository, resolution will not be reattempted until the update interval of projectName.local has elapsed or updates are forced -> [Help 1]
我缺少什么?

定义类似pom.xml的依赖项。
        Define the pom.xml like dependency.

                  <dependency>
                    <groupId>org.myproject</groupId>
                    <artifactId>ProjectName</artifactId>
                    <version>0.0.1-SNAPSHOT</version>
                    <scope>system</scope>
                    <systemPath>${project.basedir}/src/main/resources/jarfile</systemPath>
                </dependency>

      Put the all the files in the folder
org.myproject 项目名称 0.0.1-快照 系统 ${project.basedir}/src/main/resources/jarfile 将所有文件放入文件夹中
我认为仅仅复制jar文件并不能解决您的问题。您需要使用如下命令在该存储库中使用Maven本身安装依赖项:

mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file  -Dfile=path-to-your-artifact-jar \
                -DgroupId=your.groupId \
                -DartifactId=your-artifactId \
                -Dversion=version \
                -Dpackaging=jar \
                -DlocalRepositoryPath=path-to-specific-local-repo

特定本地repo的路径
应该是本地存储库的路径(
文件://${project.basedir}/libs
)。

您可以将本地jar添加为:

<dependency>
    <groupId>com.sample</groupId>
    <artifactId>sample</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/Name_Your_JAR.jar</systemPath>
</dependency>

com.sample
样品
1
系统
${project.basedir}/src/main/resources/Name\u Your\u JAR.JAR
Local通过上面的操作为您工作。如果您想将这个本地jar打包到您的fat jar中,那么在maven插件配置中包括以下行:

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>

org.springframework.boot
springbootmaven插件
真的

我正在学习这些教程:和(第三种方法),它们没有提到this@davioooh如何为要复制到存储库的jar文件创建pom描述符?这确实是正确的方法。或者,您也可以通过在包含依赖项工件信息的Jar旁边添加一个
ProjectName-1.0.pom
来手动完成此操作。@gil.fernandes抱歉,您是对的!我试试看@费尔南德斯谢谢你!我还尝试了这个命令来在本地repo中部署jar:
mvn deploy:deploy file-Dfile=-DgroupId=-DartifactId=-Dversion=-dpackage=jar-Durl=file:./maven repository/-DrepositoryId=maven repository-DupdateReleaseInfo=true
并且它可以工作。这似乎是一种不推荐的方法:开始使用存储库管理器上传jar他们的任务完成了。。。
<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>