maven用pom创建jar

时间:2013-07-16 13:26:40

标签: java android maven

我正在开发一个Android项目并且有一些核心代码(有一些依赖项)我想要版本并制作成库/工件(?),我可以将其引入其他项目。我正在使用Maven构建,我的编辑器是IntelliJ。我从来没有创建过.jar,但我认为这就是我想做的事情。

在IntelliJ中,我去了文件 - &gt; 项目结构 - &gt; 工件 - &gt; + < / strong>但我输了。我不知道如何定义要包含在jar中的源目录和文件,我不确定是否需要在jar中包含其依赖项的实际jar?或者在pom.xml文件中定义这些依赖项并在jar中包含pom.xml文件?

非常感谢任何澄清。

2 个答案:

答案 0 :(得分:1)

Maven项目的依赖项在其 pom.xml 文件中定义(基本上,从这里更改依赖项是您使用Intellij在视觉上做的事情,通过文件 - &gt;项目结构 - &gt; ;工件)。 Maven采用的源文件是进入项目的 src / main 目录的源文件。默认情况下,构建是在排除依赖项的情况下完成的,因此,如果您希望在最终的 jar 中使用to include them,则必须在pom文件(插件)中指定它:

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>attached</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
  </plugin>

之后,您必须执行 mvn install 命令才能创建 jar 。您可以在外部或从 IDE (如果安装了some Maven plugin)运行maven,并在项目的目标文件夹中创建jar。

答案 1 :(得分:0)

IntelliJ IDEA中的设置仅在使用IntelliJ IDEA编译器构建时创建JAR。要让maven创建JAR并将其部署到maven存储库,您需要使用maven assembly plugin。有predefined configuration用于创建具有依赖关系的jar。

Maven Shade Plugin还可以创建JAR并处理更高级的用例。但是你可能想要从程序集插件/

开始