Maven:将未知的jar文件导入存储库

时间:2016-06-02 12:37:30

标签: java maven jar

目前我遇到的问题是我有一个用eclipse创建的Java项目,现在应该用maven构建。我还没有创建这个项目,我只需要迁移它。这里的问题是我需要包含一堆第三方jar来正确构建项目。我对这些罐子一无所知(我实际上并不关心他们做什么以及来自哪里)。

我设法找到了如何通过命令行将这些jar添加到ma本地repro的资源,我进一步创建了一个pom.xml,它为我做了工作(所以我不需要使用命令但是不知怎的,它不能正常工作。如果我使用命令行或pom.xmo,那么这两种方法都不适合我。当我运行pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>
   <parent>
      <groupId>common</groupId>
      <artifactId>common.master</artifactId>
      <relativePath>../pom.xml</relativePath>
      <version>1.0.0-SNAPSHOT</version>
   </parent>
   <groupId>common</groupId>
   <artifactId>org.proj4j</artifactId>
   <name>org.proj4j</name>
   <version>0.1.0</version>
   <packaging>jar</packaging>
   <build>
      <sourceDirectory>src/</sourceDirectory>
      <plugins>
         <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
               <source>${jdk.version}</source>
               <target>${jdk.version}</target>
            </configuration>
         </plugin>
<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.4</version>
          <executions>
            <execution>
              <id>install1</id>
              <phase>package</phase>
              <goals>
                <goal>install-file</goal>
              </goals>
              <configuration>
                <file>proj4j-0.1.0.jar</file>
                <groupId>common</groupId>
                <artifactId>org.proj4j</artifactId>
        <name>proj4j</name>
                <version>0.1.0</version>
        <packaging>jar</packaging>
              </configuration>
            </execution>
            <execution>
              <id>install2</id>
              <phase>package</phase>
              <goals>
                <goal>install-file</goal>
              </goals>
              <configuration>
                <file>proj4j-support-0.1.0.jar</file>
                <groupId>common</groupId>
                <artifactId>org.proj4j</artifactId>
        <name>proj4j-support</name>
                <version>0.1.0</version>
        <packaging>jar</packaging>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
   </build>
</project>

在指定的组ID,工件ID等下将jar放入我的本地repro中。但编译器仍然失败,并且Unknown Symbol Error表示在编译期间无法找到所需的类。我想原因是工件ID和组ID,因为我想出了它们。它们根本与我的第三方罐子无​​关。但我也不知道正确的群组ID /工件ID,因为我对罐子一无所知。它们也部分由大学自编。

我可以做些什么来让maven找到所需的库并解决所有缺失的类。就像我已经说过的那样,使用eclipse,一切都运行正常,没有任何问题。难道不可能将jar以某种方式放入我本地repro中的一个文件夹中并告诉编译器如果你搜索任何开始在这里看的东西

2 个答案:

答案 0 :(得分:1)

看看以下其中一项是否适合您:

How to add local jar files in maven project?

Maven: add a dependency to a jar by relative path如果有帮助请告诉我

他们详细解释了需要做些什么。

答案 1 :(得分:0)

您可以将您的罐子手动放入您的仓库。你不必对这个jar一无所知,artifact-id和group-id会影响repo中的路由以及编译器将寻找的依赖项的名称。

我建议您添加一些存在于maven repo中的依赖项,并观察pom在本地存储库中创建的文件的路由和名称,之后确定您看起来像pom.xml的工作方式。