Java maven系统中的第三方JAR部署在哪里
马文的新朋友 我已经成功地为我的应用程序创建了一个jar。我想从这个jar“java-jar foo.jar MyClass”运行应用程序,但我不知道从哪里获取(并打包)所有依赖项。maven有这样做的目标吗?如果没有,我是否使用proguard之类的工具?那么,我该如何将其纳入maven的目标中呢Java maven系统中的第三方JAR部署在哪里,java,maven,Java,Maven,马文的新朋友 我已经成功地为我的应用程序创建了一个jar。我想从这个jar“java-jar foo.jar MyClass”运行应用程序,但我不知道从哪里获取(并打包)所有依赖项。maven有这样做的目标吗?如果没有,我是否使用proguard之类的工具?那么,我该如何将其纳入maven的目标中呢 提前感谢Maven将您所有的依赖项放在您的~/.m2文件夹中。(如果您使用的是maven 2) 如果您的pom.xml具备所需的一切,那么执行mvn干净安装将处理所有细节 请记住,您可以在项目中执行
提前感谢Maven将您所有的依赖项放在您的
~/.m2
文件夹中。(如果您使用的是maven 2)
如果您的pom.xml
具备所需的一切,那么执行mvn干净安装将处理所有细节
请记住,您可以在项目中执行一个mvn依赖项:树
,以查看它的所有依赖项:pMaven将递归下载所有依赖项,并将它们放在本地存储库中
从命令行运行java的一个棘手问题是正确地获取类路径。但是,您可以让Maven为您执行它:
这并不是你的问题的答案,但要创建一个“胖”罐,将所有依赖项打包到其中,请尝试maven complier插件:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.stackoverflow.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
maven编译器插件
3.1
1.6
1.6
maven汇编插件
com.stackoverflow.example.MainClass
带有依赖项的jar
组装
包裹
单一的
我认为OP希望将依赖项与工件打包,以便可以执行。拥有~/.m2
中的依赖项并没有多大帮助…谢谢大家。事实上,答案就在这里