我正在开发一个Android项目并且有一些核心代码(有一些依赖项)我想要版本并制作成库/工件(?),我可以将其引入其他项目。我正在使用Maven构建,我的编辑器是IntelliJ。我从来没有创建过.jar,但我认为这就是我想做的事情。
在IntelliJ中,我去了文件 - &gt; 项目结构 - &gt; 工件 - &gt; + < / strong>但我输了。我不知道如何定义要包含在jar中的源目录和文件,我不确定是否需要在jar中包含其依赖项的实际jar?或者在pom.xml文件中定义这些依赖项并在jar中包含pom.xml文件?
非常感谢任何澄清。
答案 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并处理更高级的用例。但是你可能想要从程序集插件/
开始